@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--spacing-24)}.login-container{width:100%;max-width:420px;background:var(--background-surface-secondary);border-radius:var(--radius-2xl);padding:var(--spacing-40);box-shadow:var(--shadow-card)}.login-header{text-align:center;margin-bottom:var(--spacing-40)}.login-logo{width:60px;height:60px;margin:0 auto var(--spacing-20);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:var(--radius-l);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;letter-spacing:.5px}.login-header h1{font-size:32px;font-weight:500;color:var(--typography-primary);margin:0 0 var(--spacing-8);line-height:36px}.login-header p{font-size:15px;color:var(--typography-secondary);margin:0;line-height:24px}.login-form{display:flex;flex-direction:column;gap:var(--spacing-24)}.login-error{padding:var(--spacing-12) var(--spacing-16);background:#fd44381a;color:var(--charts-context-negative);border-radius:var(--radius-s);font-size:14px;text-align:center}.form-group label{font-size:15px;font-weight:500;color:var(--typography-primary);line-height:24px}.form-group input{padding:var(--spacing-12) var(--spacing-16);font-size:15px;font-family:DM Sans,sans-serif;color:var(--typography-primary);background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-s);transition:all .2s ease;line-height:24px}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-button{padding:var(--spacing-12) var(--spacing-24);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;line-height:24px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.admin-sidebar{width:var(--sidebar-width-expanded);background:var(--background-surface-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh}.sidebar-bottom{border-top:1px solid var(--border-primary);padding:var(--spacing-16)}.sidebar-user{display:flex;align-items:center;gap:var(--spacing-12);margin-bottom:var(--spacing-8)}.user-info{flex:1}.user-name{font-size:15px;font-weight:500;color:var(--typography-primary);line-height:20px}.logout-button{display:flex;align-items:center;gap:var(--spacing-8);width:100%;padding:var(--spacing-8) var(--spacing-12);background:transparent;border:none;color:var(--typography-secondary);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease}.logout-button:hover{background:var(--bg-hover);color:var(--typography-primary)}.company-submenu{margin:var(--spacing-8) 0;padding-left:var(--spacing-12)}.company-submenu-header{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);margin:0 var(--spacing-16) var(--spacing-4) var(--spacing-16);color:var(--typography-primary);border-radius:var(--spacing-s);cursor:pointer;transition:all .2s ease;background:var(--background-chip-active);border:1px solid var(--border-primary)}.company-submenu-header:hover{background:var(--bg-hover)}.company-submenu-header svg{flex-shrink:0;width:16px;height:16px}.company-submenu-logo{width:24px;height:24px;border-radius:4px;overflow:hidden;flex-shrink:0;background:#fff;border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center}.company-submenu-logo img{width:100%;height:100%;object-fit:contain;padding:2px}.company-name{font-size:14px;font-weight:600;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-layout{display:flex;min-height:100vh;background:var(--bg-main)}.admin-main-content{flex:1;margin-left:var(--sidebar-width-expanded);min-height:100vh}.client-list-container{background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);overflow:hidden}.client-list-loading,.client-list-empty{padding:var(--spacing-40);text-align:center;color:var(--typography-secondary);font-size:15px}.client-table{width:100%;border-collapse:collapse}.client-table thead{background:var(--bg-hover);border-bottom:1px solid var(--border-primary)}.client-table th{padding:var(--spacing-16) var(--spacing-24);text-align:left;font-size:15px;font-weight:500;color:var(--typography-secondary);line-height:20px}.client-table tbody tr{border-bottom:1px solid var(--border-primary);transition:background .2s ease}.client-table tbody tr.clickable-row{cursor:pointer}.client-table tbody tr:last-child{border-bottom:none}.client-table tbody tr:hover{background:var(--bg-hover)}.client-table td{padding:var(--spacing-16) var(--spacing-24);font-size:15px;color:var(--typography-primary);line-height:24px}.client-username{display:flex;align-items:center;gap:var(--spacing-12)}.client-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.company-logo{width:40px;height:40px;border-radius:var(--radius-s);overflow:hidden;flex-shrink:0;background:#fff;border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center}.company-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.status-badge{display:inline-block;padding:var(--spacing-4) var(--spacing-12);border-radius:var(--radius-xs);font-size:12px;font-weight:500;text-transform:capitalize;line-height:20px}.status-active{background:#05cd991a;color:var(--success)}.status-suspended{background:#ffb5471a;color:var(--warning)}.status-deactivated{background:#a3aed01a;color:var(--typography-secondary)}.action-btn{padding:var(--spacing-6) var(--spacing-12);font-size:13px;font-weight:500;font-family:DM Sans,sans-serif;border:1px solid var(--border-primary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;background:var(--background-surface-secondary);color:var(--typography-primary)}.action-btn:hover{background:var(--bg-hover)}.action-suspend{color:var(--warning);border-color:var(--warning)}.action-suspend:hover{background:#ffb5471a}.action-activate{color:var(--success);border-color:var(--success)}.action-activate:hover{background:#05cd991a}.action-deactivate{color:var(--charts-context-negative);border-color:var(--charts-context-negative)}.action-deactivate:hover{background:#fd44381a}.admin-dashboard-content{padding:var(--spacing-40);max-width:1400px;margin:0 auto}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-16);margin-bottom:var(--spacing-24)}.stat-card{background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-l);padding:var(--spacing-20)}.stat-label{font-size:15px;font-weight:500;color:var(--typography-secondary);margin-bottom:var(--spacing-8);line-height:20px}.stat-value{font-size:32px;font-weight:500;color:var(--typography-primary);line-height:36px}.stat-value.stat-success{color:var(--success)}.stat-value.stat-warning{color:var(--warning)}.register-button{padding:var(--spacing-8) var(--spacing-16);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;white-space:nowrap}.register-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:14px}.breadcrumb-link{background:none;border:none;color:#3b82f6;cursor:pointer;padding:0;font-size:14px;font-weight:500;transition:color .15s;font-family:DM Sans,sans-serif}.breadcrumb-link:hover{color:#2563eb;text-decoration:underline}.breadcrumb-separator{color:#9ca3af}.breadcrumb-current{color:#111827;font-weight:600}.page-layout{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden}.page-header{flex-shrink:0;padding:var(--spacing-20) var(--spacing-24);border-bottom:1px solid #e5e7eb;background:#fff;min-height:68px;display:flex;align-items:center}.page-content{flex:1;overflow-y:auto;padding:var(--spacing-32);background:#f9fafb}.page-content>*{max-width:1200px;margin:0 auto}.company-overview{max-width:1200px}.company-info-section{background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-32);margin-bottom:var(--spacing-24)}.section-header h2{font-size:20px;font-weight:500;color:var(--typography-primary);margin:0 0 var(--spacing-24);line-height:28px}.modal-form{padding:var(--spacing-24);display:flex;flex-direction:column;gap:var(--spacing-20)}.modal-error{padding:var(--spacing-12) var(--spacing-16);background:#fd44381a;color:var(--charts-context-negative);border-radius:var(--radius-s);font-size:14px}.form-group input,.form-group select{padding:var(--spacing-10) var(--spacing-12);font-size:15px;font-family:DM Sans,sans-serif;color:var(--typography-primary);background:var(--background-surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-s);transition:all .2s ease;line-height:24px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-group small{display:block;margin-top:var(--spacing-4);font-size:13px;color:var(--typography-tertiary);line-height:20px}.modal-btn{padding:var(--spacing-10) var(--spacing-20);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;border:1px solid var(--border-primary);line-height:24px}.modal-btn-cancel{background:var(--background-surface-secondary);color:var(--typography-primary)}.modal-btn-cancel:hover:not(:disabled){background:var(--bg-hover)}.modal-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.modal-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.company-users{max-width:1400px}.users-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.create-user-button{padding:var(--spacing-8) var(--spacing-16);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;white-space:nowrap}.create-user-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.loading-container,.error-container,.users-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb;text-align:center}.loading-container p,.error-container p,.users-empty p{color:#6b7280;font-size:14px;margin:0}.error-container p{color:#ef4444}.users-empty p{margin:.5rem 0 1.5rem}.users-content{background:#fff;border-radius:8px;border:1px solid #e5e7eb}.users-table-container{overflow-x:auto;border-radius:8px}.users-table thead{background:#f9fafb}.users-table th{padding:.75rem 1rem;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.users-table th:first-child{padding-left:1.5rem}.users-table th:last-child{padding-right:1.5rem}.users-table td{padding:1rem;border-top:1px solid #e5e7eb;font-size:14px;color:#111827}.users-table td:first-child{padding-left:1.5rem}.users-table td:last-child{padding-right:1.5rem}.users-table tbody tr:hover{background:#f9fafb}.cell-date{color:#6b7280;font-size:14px}.logo-preview{width:120px;height:120px;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f9fafb;position:relative;overflow:hidden;transition:all .2s;flex-shrink:0}.logo-preview:hover{border-color:#9ca3af}.logo-preview.drag-active{border-color:#3b82f6;background:#eff6ff;border-style:solid}.logo-image{width:100%;height:100%;object-fit:contain;padding:8px}.logo-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#9ca3af}.logo-placeholder p{font-size:12px;margin:0}.drag-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#3b82f61a;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#3b82f6;gap:.5rem}.drag-overlay p{font-size:12px;font-weight:600;margin:0}.logo-actions{flex:1;display:flex;flex-direction:column;gap:.75rem}.button-group{display:flex;gap:.5rem;flex-wrap:wrap}.upload-button,.delete-button,.cancel-preview-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;background:#fff;color:#374151}.upload-button:hover:not(:disabled),.cancel-preview-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.upload-button:disabled,.delete-button:disabled,.cancel-preview-button:disabled{opacity:.5;cursor:not-allowed}.delete-button{background:#fff;color:#dc2626;border-color:#fca5a5}.delete-button:hover:not(:disabled){background:#fee;border-color:#f87171}.cancel-preview-button{background:#f3f4f6;color:#6b7280}.error-text{font-size:13px;color:#dc2626;margin:0;font-weight:500}.field-description{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.company-settings{width:100%}.settings-header{margin-bottom:var(--spacing-24)}.error-message{padding:var(--spacing-12);background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00;margin-bottom:var(--spacing-20);font-size:14px}.settings-section{background:#fff;border-radius:8px;padding:var(--spacing-24);margin-bottom:var(--spacing-24);border:1px solid #e5e7eb}.section-header h2{font-size:18px;font-weight:600;color:#111827;margin:0 0 var(--spacing-20) 0}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-20)}.form-group input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;transition:border-color .15s;font-family:DM Sans,sans-serif}.status-display{padding:.625rem 0}.status-badge{display:inline-block;padding:6px 14px;border-radius:6px;font-size:14px;font-weight:600;text-transform:capitalize}.status-badge.status-deactivated{background:#fd44381a;color:var(--charts-context-negative)}.warning-zone{border-color:#fbbf24}.warning-zone .section-header h2{color:#d97706}.info-zone{border-color:#60a5fa}.info-zone .section-header h2{color:#2563eb}.action-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-24)}.action-info{flex:1}.action-info h3{font-size:16px;font-weight:600;color:#111827;margin:0 0 var(--spacing-8) 0}.action-info p{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.suspend-button,.activate-button,.deactivate-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:14px;font-weight:500;font-family:DM Sans,sans-serif;cursor:pointer;transition:background-color .15s;white-space:nowrap}.suspend-button{background:#f59e0b;color:#fff}.suspend-button:hover:not(:disabled){background:#d97706}.activate-button{background:#3b82f6;color:#fff}.activate-button:hover:not(:disabled){background:#2563eb}.deactivate-button{background:#dc2626;color:#fff}.deactivate-button:hover:not(:disabled){background:#b91c1c}.suspend-button:disabled,.activate-button:disabled,.deactivate-button:disabled{opacity:.5;cursor:not-allowed}.users-page{width:100%;padding:var(--spacing-40)}.search-input,.filter-select{padding:var(--spacing-8) var(--spacing-16);font-size:15px;font-family:DM Sans,sans-serif;color:var(--typography-primary);background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-s);line-height:24px;transition:all .2s ease}.search-input{flex:1;max-width:400px}.search-input::placeholder{color:var(--typography-tertiary)}.search-input:focus,.filter-select:focus{outline:none;border-color:var(--typography-accent);box-shadow:0 0 0 3px #2997c11a}.filter-select{min-width:150px}.users-table-container{background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-l);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--bg-hover);border-bottom:1px solid var(--border-primary)}.users-table th{padding:var(--spacing-12) var(--spacing-16);text-align:left;font-size:13px;font-weight:500;color:var(--typography-secondary);text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:var(--spacing-16);border-top:1px solid var(--border-primary);font-size:15px;color:var(--typography-primary)}.user-email .user-avatar{width:32px;height:32px;font-size:14px}.role-badge{display:inline-block;padding:4px 12px;background:var(--background-chip-active);color:var(--typography-accent);border-radius:var(--radius-s);font-size:13px;font-weight:500}.status-badge.status-deactivated{background:#9797971a;color:var(--typography-tertiary)}.action-buttons{display:flex;gap:var(--spacing-8)}.action-button{padding:6px 12px;font-size:13px;font-weight:500;font-family:DM Sans,sans-serif;border:1px solid var(--border-primary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease}.action-button.suspend{background:var(--background-surface-secondary);color:var(--warning);border-color:var(--warning)}.action-button.suspend:hover{background:#ff98001a}.action-button.activate{background:var(--background-surface-secondary);color:var(--success);border-color:var(--success)}.action-button.activate:hover{background:#42c2981a}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-16);margin-top:var(--spacing-24)}.pagination button{padding:var(--spacing-8) var(--spacing-16);font-size:15px;font-family:DM Sans,sans-serif;color:var(--typography-primary);background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease}.pagination button:hover:not(:disabled){background:var(--bg-hover)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:15px;color:var(--typography-secondary)}.modal-content{background:var(--background-surface-secondary);border-radius:var(--radius-2xl);width:100%;max-width:520px;box-shadow:var(--shadow-card)}.form-group input,.form-group select{padding:var(--spacing-10) var(--spacing-16);font-size:15px;font-family:DM Sans,sans-serif;color:var(--typography-primary);background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:var(--radius-s);line-height:24px;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--typography-accent);box-shadow:0 0 0 3px #2997c11a}.teams-list{display:flex;flex-direction:column;gap:var(--spacing-8);max-height:240px;overflow-y:auto;padding:var(--spacing-8);background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:var(--radius-s)}.team-checkbox{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-8) var(--spacing-12);border-radius:var(--radius-s);cursor:pointer;transition:background .2s ease}.team-checkbox:hover{background:var(--background-surface-secondary)}.team-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.team-checkbox span{font-size:15px;color:var(--typography-primary);line-height:24px}.projects-page{width:100%;padding:var(--spacing-40)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-20)}.project-card{background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:16px;padding:var(--spacing-20);cursor:pointer;transition:all .2s ease}.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#667eea}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-16);gap:var(--spacing-12)}.project-header-left{display:flex;align-items:center;gap:var(--spacing-12);flex:1;min-width:0}.project-logo{width:48px;height:48px;border-radius:var(--radius-s);overflow:hidden;flex-shrink:0;background:#fff;border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center}.project-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.project-card-header h3{font-size:18px;font-weight:500;color:var(--typography-primary);margin:0;line-height:24px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-body{display:flex;flex-direction:column;gap:var(--spacing-12)}.project-slug{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-12);background:var(--bg-hover);border-radius:var(--radius-s)}.project-slug svg{color:var(--typography-secondary);flex-shrink:0}.project-slug code{font-size:13px;color:var(--typography-secondary);font-family:Monaco,Courier New,monospace}.project-stats{display:flex;flex-direction:column;gap:var(--spacing-8)}.client-sidebar{width:var(--sidebar-width-expanded);background:var(--background-surface-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh}.sidebar-header{padding:var(--spacing-20) var(--spacing-24);border-bottom:1px solid var(--border-primary);min-height:68px;display:flex;align-items:center}.sidebar-logo .logo-text{font-weight:600;font-size:20px;color:var(--typography-primary)}.sidebar-nav{flex:1;padding:var(--spacing-16) 0;overflow-y:auto}.nav-section-label{padding:0 var(--spacing-16) var(--spacing-8);font-size:15px;color:var(--typography-tertiary);text-transform:capitalize}.nav-item{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);margin:0 var(--spacing-16);color:var(--typography-secondary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;height:40px}.nav-item:hover{background:var(--bg-hover);color:var(--typography-primary)}.nav-item.active{background:#667eea1a;border:1px solid rgba(102,126,234,.3);color:#667eea}.nav-item svg{flex-shrink:0;width:20px;height:20px}.nav-text{font-size:15px;font-weight:500;line-height:24px}.sidebar-bottom{border-top:1px solid var(--border-primary);padding:var(--spacing-16);overflow:visible}.sidebar-user{display:flex;align-items:center;gap:var(--spacing-12);position:relative;padding-right:var(--spacing-4)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.user-info{flex:1;min-width:0;overflow:hidden}.user-name{font-size:15px;font-weight:500;color:var(--typography-primary);line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:var(--typography-secondary);line-height:20px}.user-menu-container{position:relative;margin-left:auto;flex-shrink:0}.user-menu-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--typography-secondary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;padding:0}.user-menu-button:hover{background:var(--bg-hover);color:var(--typography-primary)}.user-dropdown-menu{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-m);box-shadow:0 4px 12px #00000026;min-width:180px;padding:var(--spacing-4);z-index:1000}.dropdown-menu-item{display:flex;align-items:center;gap:var(--spacing-8);width:100%;padding:var(--spacing-8) var(--spacing-12);background:transparent;border:none;color:var(--typography-secondary);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;text-align:left}.dropdown-menu-item:hover{background:var(--bg-hover);color:var(--typography-primary)}.dropdown-menu-item svg{flex-shrink:0}.project-submenu{margin:var(--spacing-8) 0;padding-left:var(--spacing-12)}.project-submenu-header{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);margin:0 var(--spacing-16) var(--spacing-4) var(--spacing-16);color:var(--typography-primary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;background:var(--background-chip-active);border:1px solid var(--border-primary)}.project-submenu-header:hover{background:var(--bg-hover)}.project-submenu-header svg{flex-shrink:0;width:16px;height:16px}.project-submenu-logo{width:24px;height:24px;border-radius:4px;overflow:hidden;flex-shrink:0;background:#fff;border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center}.project-submenu-logo img{width:100%;height:100%;object-fit:contain;padding:2px}.project-name{font-size:14px;font-weight:600;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submenu-item{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-6) var(--spacing-16);margin:0 var(--spacing-16) var(--spacing-2) var(--spacing-16);color:var(--typography-secondary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;height:36px;padding-left:calc(var(--spacing-16) + 12px)}.submenu-item:hover{background:var(--bg-hover);color:var(--typography-primary)}.submenu-item.active{background:#667eea1a;border:1px solid rgba(102,126,234,.3);color:#667eea}.submenu-item svg{flex-shrink:0;width:18px;height:18px}.submenu-text{font-size:14px;font-weight:500;line-height:20px}.client-layout{display:flex;min-height:100vh;background:var(--bg-main)}.client-main-content{margin-left:var(--sidebar-width-expanded);flex:1}.session-list-container{padding:0;max-width:100%;margin:0}.session-list-container h1{margin-bottom:2rem;color:var(--text-primary);font-size:28px;font-weight:700}.table-card{background:var(--background-surface-secondary, #ffffff);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card)}.session-table{width:100%;border-collapse:collapse}.session-table thead{background:#f9fafb}.session-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.025em;color:#6b7280}.session-table th:first-child{padding-left:1.5rem}.session-table th:last-child{padding-right:1.5rem}.session-table td{padding:1rem;border-top:1px solid #e5e7eb;color:#111827;font-size:14px}.session-table td:first-child{padding-left:1.5rem}.session-table td:last-child{padding-right:1.5rem}.session-table tbody tr:last-child td{border-bottom:none}.session-row{cursor:pointer;transition:all .2s ease;position:relative}.session-row:hover{background:#f9fafb}.session-row.selected{box-shadow:inset 4px 0 #7c3aed}.session-id{font-family:Courier New,monospace;color:var(--typography-accent, #2997c1);font-size:13px;font-weight:500}.loading,.error,.empty{text-align:center;padding:4rem 2rem;font-size:16px;color:var(--typography-secondary, rgba(31, 31, 33, .74))}.error{color:var(--error, #ee5d50)}.action-cell{width:120px}.user-id-cell{font-family:Courier New,monospace;font-size:13px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags-cell{max-width:240px}.tag-chips{display:flex;flex-wrap:wrap;gap:4px}.tag-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:500;line-height:1.4;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-chip-key{font-weight:600}.tag-chip-sep{margin:0 2px;opacity:.6}.tag-chip-value{font-weight:500}.muted{color:#9ca3af}.video-action-btn{padding:.5rem 1rem;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.play-video-btn{background:#10b981;color:#fff}.play-video-btn:hover{background:#059669;transform:translateY(-1px)}.render-video-btn{background:#7c3aed;color:#fff}.render-video-btn:hover{background:#6d28d9;transform:translateY(-1px)}@media (max-width: 768px){.session-list-container{padding:1rem}.session-table{font-size:13px}.session-table th,.session-table td{padding:1rem .75rem}.session-list-container h1{font-size:22px;margin-bottom:1.5rem}}.panel-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:200;opacity:0;animation:fadeIn .3s ease forwards}@keyframes fadeIn{to{opacity:1}}.session-panel{position:fixed;top:0;right:0;width:400px;height:100vh;background:var(--background-surface-secondary, #ffffff);box-shadow:var(--shadow-panel);z-index:201;transform:translate(100%);transition:transform var(--transition-speed) var(--transition-ease);display:flex;flex-direction:column;overflow:hidden}.session-panel.open{transform:translate(0)}.panel-header{height:68px;padding:0 var(--spacing-24, 24px);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.panel-header h2{margin:0;font-size:20px;font-weight:700;color:var(--typography-primary, #1f1f21)}.close-button{background:transparent;border:none;color:var(--typography-secondary, rgba(31, 31, 33, .74));cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:var(--bg-hover, #f7fafc);color:var(--typography-primary, #1f1f21)}.panel-content{flex:1;overflow-y:auto;padding:1.5rem}.panel-section{margin-bottom:2rem}.panel-section:last-child{margin-bottom:0}.panel-section h3{margin:0 0 1rem;font-size:14px;font-weight:600;color:var(--typography-secondary, rgba(31, 31, 33, .74));text-transform:uppercase;letter-spacing:.05em}.info-grid{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:12px;font-weight:500;color:var(--typography-secondary, rgba(31, 31, 33, .74));text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:14px;color:var(--typography-primary, #1f1f21);font-weight:500}.info-value.session-id{font-family:Courier New,monospace;color:var(--typography-accent, #2997c1);word-break:break-all}.panel-footer{padding:1.5rem;border-top:1px solid var(--border-color);flex-shrink:0}.render-button{width:100%;padding:1rem;background:#7c3aed;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;box-shadow:0 4px 12px #7c3aed40}.render-button:hover{background:#6d28d9;transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed59}.render-button:active{transform:translateY(0)}.render-button:disabled{background:var(--typography-tertiary, rgba(31, 31, 33, .56));cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:var(--typography-secondary, rgba(31, 31, 33, .74))}@media (max-width: 768px){.session-panel{width:100%}}.project-detail-page{width:100%}.back-button{display:inline-flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;color:var(--typography-secondary);background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;margin-bottom:var(--spacing-24)}.back-button:hover{background:var(--bg-hover);color:var(--typography-primary)}.project-info-section,.teams-section,.api-keys-section{background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-32);margin-bottom:var(--spacing-24)}.teams-list{display:flex;flex-direction:column;gap:var(--spacing-12)}.team-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-12) var(--spacing-16);background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:var(--radius-s)}.team-name{font-size:15px;color:var(--typography-primary);font-weight:500}.api-keys-table-container{overflow-x:auto}.api-keys-table thead{background:var(--bg-hover);border-bottom:1px solid var(--border-primary)}.api-keys-table th{padding:var(--spacing-12) var(--spacing-16);text-align:left;font-size:13px;font-weight:500;color:var(--typography-secondary);text-transform:uppercase;letter-spacing:.5px;line-height:20px}.api-keys-table tbody tr{border-bottom:1px solid var(--border-primary);transition:background .2s ease}.api-keys-table tbody tr:last-child{border-bottom:none}.api-keys-table tbody tr:hover{background:var(--bg-hover)}.api-keys-table td{padding:var(--spacing-12) var(--spacing-16);font-size:15px;color:var(--typography-primary);line-height:24px}.api-keys-table td code{font-family:Monaco,Courier New,monospace;font-size:13px;background:var(--bg-hover);padding:4px 8px;border-radius:var(--radius-s)}.api-key-cell{display:flex;align-items:center;gap:var(--spacing-8)}.api-key-cell code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-key-button{display:flex;align-items:center;justify-content:center;padding:6px;background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;flex-shrink:0}.copy-key-button:hover{background:var(--typography-accent);border-color:var(--typography-accent)}.copy-key-button:hover svg{color:#fff}.copy-key-button svg{width:16px;height:16px;color:var(--typography-secondary);transition:color .2s ease}.status-badge.status-revoked,.status-badge.status-archived{background:#9797971a;color:var(--typography-tertiary)}.action-button.revoke{color:var(--charts-context-negative);border-color:var(--charts-context-negative)}.action-button.revoke:hover{background:#fd44381a}.modal-content.modal-small{max-width:420px}.form-group input{padding:var(--spacing-10) var(--spacing-16);font-size:15px;font-family:DM Sans,sans-serif;color:var(--typography-primary);background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:var(--radius-s);line-height:24px;transition:all .2s ease}.form-group input::placeholder{color:var(--typography-tertiary)}.form-group input:focus{outline:none;border-color:var(--typography-accent);box-shadow:0 0 0 3px #2997c11a}.teams-page{width:100%;padding:var(--spacing-40)}.content-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-24);gap:var(--spacing-16)}.filter-group{display:flex;gap:var(--spacing-12);flex:1}.filter-select{padding:var(--spacing-8) var(--spacing-16);font-size:15px;font-family:DM Sans,sans-serif;color:var(--typography-primary);background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-s);line-height:24px;transition:all .2s ease;min-width:150px}.filter-select:focus{outline:none;border-color:var(--typography-accent);box-shadow:0 0 0 3px #2997c11a}.error-message{padding:var(--spacing-16);background:#fd44381a;color:var(--charts-context-negative);border-radius:var(--radius-s);margin-bottom:var(--spacing-24);text-align:center}.loading-container{text-align:center;padding:var(--spacing-40);color:var(--typography-secondary)}.empty-state{text-align:center;padding:var(--spacing-40);color:var(--typography-secondary);background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-l)}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-20)}.team-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-16);gap:var(--spacing-12)}.team-card-header h3{font-size:18px;font-weight:500;color:var(--typography-primary);margin:0;line-height:24px;flex:1}.team-card-body{display:flex;flex-direction:column;gap:var(--spacing-12)}.team-slug{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-12);background:var(--bg-hover);border-radius:var(--radius-s)}.team-slug svg{color:var(--typography-secondary);flex-shrink:0}.team-slug code{font-size:13px;color:var(--typography-secondary);font-family:Monaco,Courier New,monospace}.team-stats{display:flex;flex-direction:column;gap:var(--spacing-8)}.stat-item{display:flex;align-items:center;gap:var(--spacing-8);font-size:14px;color:var(--typography-secondary)}.stat-item svg{flex-shrink:0;color:var(--typography-tertiary)}.status-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-s);font-size:13px;font-weight:500;text-transform:capitalize;white-space:nowrap}.status-badge.status-archived{background:#9797971a;color:var(--typography-tertiary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-24)}.modal-content{background:var(--background-surface-secondary);border-radius:var(--radius-2xl);width:100%;max-width:480px;box-shadow:var(--shadow-card)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-24);border-bottom:1px solid var(--border-primary)}.modal-header h2{font-size:24px;font-weight:500;color:var(--typography-primary);margin:0;line-height:32px}.modal-close{width:32px;height:32px;border:none;background:transparent;color:var(--typography-secondary);font-size:32px;line-height:1;cursor:pointer;border-radius:var(--radius-s);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-hover);color:var(--typography-primary)}.modal-content form{padding:var(--spacing-24);display:flex;flex-direction:column;gap:var(--spacing-20)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-8)}.form-group label{font-size:14px;font-weight:500;color:var(--typography-primary);line-height:20px}.form-group select,.form-group input{padding:var(--spacing-10) var(--spacing-16);font-size:15px;font-family:DM Sans,sans-serif;color:var(--typography-primary);background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:var(--radius-s);line-height:24px;transition:all .2s ease}.form-group select:focus,.form-group input:focus{outline:none;border-color:var(--typography-accent);box-shadow:0 0 0 3px #2997c11a}.form-group small{font-size:13px;color:var(--typography-tertiary);line-height:20px}.empty-message{text-align:center;color:var(--typography-tertiary);font-size:14px;padding:var(--spacing-16)}.error-message{padding:var(--spacing-12) var(--spacing-16);background:#fd44381a;color:var(--charts-context-negative);border-radius:var(--radius-s);font-size:14px;line-height:20px}.modal-actions{display:flex;gap:var(--spacing-12);justify-content:flex-end;margin-top:var(--spacing-8)}.button-secondary,.button-primary{padding:var(--spacing-10) var(--spacing-20);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;border:1px solid var(--border-primary);line-height:24px}.button-secondary{background:var(--background-surface-secondary);color:var(--typography-primary)}.button-secondary:hover:not(:disabled){background:var(--bg-hover)}.button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.button-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.button-primary:disabled,.button-secondary:disabled{opacity:.6;cursor:not-allowed}.team-detail-page{width:100%}.content-header{margin-bottom:var(--spacing-40)}.content-header h1{font-size:32px;font-weight:500;color:var(--typography-primary);margin:0 0 var(--spacing-8);line-height:36px}.content-header p{font-size:15px;color:var(--typography-secondary);margin:0;line-height:24px}.loading-container{padding:var(--spacing-40);text-align:center;color:var(--typography-secondary);font-size:15px}.error-container{padding:var(--spacing-16);background:#fd44381a;color:var(--charts-context-negative);border-radius:var(--radius-s);margin:var(--spacing-24) 0;text-align:center}.team-info-section,.members-section{background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--spacing-32);margin-bottom:var(--spacing-24)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-24)}.section-header h2{font-size:20px;font-weight:500;color:var(--typography-primary);margin:0;line-height:28px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-24);margin-bottom:var(--spacing-32)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-8)}.info-item label{font-size:13px;font-weight:500;color:var(--typography-tertiary);text-transform:uppercase;letter-spacing:.5px}.info-item .info-value{font-size:15px;color:var(--typography-primary);line-height:24px}.info-item code{font-family:Monaco,Courier New,monospace;background:var(--bg-hover);padding:4px 8px;border-radius:var(--radius-s)}.stats-section{padding-top:var(--spacing-24);border-top:1px solid var(--border-primary)}.stats-section h3{font-size:16px;font-weight:500;color:var(--typography-primary);margin:0 0 var(--spacing-16);line-height:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-16)}.stat-card{background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:var(--radius-l);padding:var(--spacing-16)}.stat-label{font-size:13px;font-weight:500;color:var(--typography-secondary);margin-bottom:var(--spacing-8);line-height:20px}.stat-value{font-size:28px;font-weight:500;color:var(--typography-primary);line-height:32px}.empty-state{padding:var(--spacing-40);text-align:center;color:var(--typography-secondary);font-size:15px}.members-table-container{overflow-x:auto}.members-table{width:100%;border-collapse:collapse}.members-table thead{background:var(--bg-hover);border-bottom:1px solid var(--border-primary)}.members-table th{padding:var(--spacing-12) var(--spacing-16);text-align:left;font-size:13px;font-weight:500;color:var(--typography-secondary);text-transform:uppercase;letter-spacing:.5px;line-height:20px}.members-table tbody tr{border-bottom:1px solid var(--border-primary);transition:background .2s ease}.members-table tbody tr:last-child{border-bottom:none}.members-table tbody tr:hover{background:var(--bg-hover)}.members-table td{padding:var(--spacing-12) var(--spacing-16);font-size:15px;color:var(--typography-primary);line-height:24px}.user-email{display:flex;align-items:center;gap:var(--spacing-12)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.role-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-s);font-size:13px;font-weight:500;background:#667eea1a;color:#667eea}.status-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-s);font-size:13px;font-weight:500;text-transform:capitalize}.status-badge.status-active{background:#42c2981a;color:var(--success)}.status-badge.status-suspended{background:#ff98001a;color:var(--warning)}.cell-date{color:var(--typography-secondary);font-size:14px}.action-button{padding:6px 12px;font-size:13px;font-weight:500;font-family:DM Sans,sans-serif;border:1px solid var(--border-primary);border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;background:var(--background-surface-secondary)}.action-button.remove{color:var(--charts-context-negative);border-color:var(--charts-context-negative)}.action-button.remove:hover{background:#fd44381a}.project-layout{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden}.project-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.project-loading p{color:#6b7280;font-size:14px}.project-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;padding:2rem}.error-icon{font-size:64px;margin-bottom:1rem}.project-error h2{font-size:24px;font-weight:600;color:#111827;margin:0}.project-error p{font-size:14px;color:#6b7280;max-width:400px;margin:.5rem 0 1.5rem}.project-header{flex-shrink:0;padding:var(--spacing-20) var(--spacing-24);border-bottom:1px solid #e5e7eb;background:#fff;min-height:68px;display:flex;align-items:center}.project-content{flex:1;overflow-y:auto;padding:2rem;background:#f9fafb}.back-button{padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s}.back-button:hover{background:#2563eb}.project-overview{max-width:1200px}.overview-header{margin-bottom:2rem}.header-content{display:flex;align-items:center;gap:1.5rem}.header-logo{width:64px;height:64px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#fff;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center}.header-logo img{width:100%;height:100%;object-fit:contain;padding:8px}.header-text{flex:1}.overview-header h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 .5rem}.overview-header p{font-size:14px;color:#6b7280;margin:0}.info-section,.stats-section,.teams-preview,.sessions-preview,.quick-links{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e5e7eb}.info-section h2,.stats-section h2,.teams-preview h2,.sessions-preview h2,.quick-links h2{font-size:18px;font-weight:600;color:#111827;margin:0 0 1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-item label{display:block;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem}.info-value{font-size:14px;color:#111827;font-weight:500}.info-value code{background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;font-size:13px;font-family:Monaco,Menlo,monospace}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.stat-icon{font-size:32px;line-height:1}.stat-content{flex:1}.stat-label{font-size:13px;color:#6b7280;margin-bottom:.25rem}.stat-value{font-size:24px;font-weight:700;color:#111827}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.view-all-link{background:none;border:none;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;padding:0;transition:color .15s}.view-all-link:hover{color:#2563eb}.teams-list{display:flex;flex-direction:column;gap:.75rem}.team-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.team-name{font-size:14px;font-weight:500;color:#111827}.sessions-list{display:flex;flex-direction:column;gap:.75rem}.session-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb;cursor:pointer;transition:all .15s}.session-item:hover{background:#fff;border-color:#3b82f6}.session-info{display:flex;flex-direction:column;gap:.25rem}.session-id{font-size:14px;font-weight:500;color:#111827}.session-date,.session-meta{font-size:12px;color:#6b7280}.session-duration{padding:.25rem .5rem;background:#f3f4f6;border-radius:4px}.loading-container,.empty-state{padding:2rem;text-align:center;color:#6b7280;font-size:14px}.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.link-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .15s;text-align:left}.link-card:hover{background:#fff;border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.link-icon{font-size:28px;line-height:1}.link-content{flex:1}.link-title{font-size:14px;font-weight:600;color:#111827;margin-bottom:.25rem}.link-description{font-size:13px;color:#6b7280}.project-sessions{max-width:1400px}.sessions-header{margin-bottom:2rem}.sessions-header h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 .5rem}.sessions-header p{font-size:14px;color:#6b7280;margin:0}.sessions-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.sessions-loading p{color:#6b7280;font-size:14px}.sessions-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.sessions-error p{color:#ef4444;font-size:14px;margin:0}.sessions-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.sessions-empty h3{font-size:20px;font-weight:600;color:#111827;margin:0}.sessions-empty p{font-size:14px;color:#6b7280;margin:.5rem 0 0}.sessions-content{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.sessions-filters{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.75rem}.filter-row{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.filter-field{display:flex;flex-direction:column;gap:.375rem;min-width:220px}.filter-field-tags{flex:1 1 320px}.filter-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.filter-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:#fff;transition:border-color .15s,box-shadow .15s}.filter-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.tag-filter-list{display:flex;flex-direction:column;gap:.375rem}.tag-filter-row{display:flex;align-items:center;gap:.375rem}.tag-key-input{flex:1 1 120px;min-width:0}.tag-value-input{flex:1 1 160px;min-width:0}.tag-eq{color:#9ca3af;font-weight:600}.tag-remove-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:18px;line-height:1;cursor:pointer;transition:all .15s}.tag-remove-btn:hover{color:#ef4444;border-color:#fecaca;background:#fef2f2}.tag-add-btn{align-self:flex-start;padding:.25rem .5rem;background:transparent;border:1px dashed #d1d5db;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s}.tag-add-btn:hover{color:#4f46e5;border-color:#c7d2fe;background:#eef2ff}.filter-actions{display:flex;gap:.5rem}.filter-apply-btn{padding:.5rem 1rem;background:#7c3aed;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s}.filter-apply-btn:hover{background:#6d28d9}.filter-reset-btn{padding:.5rem 1rem;background:transparent;color:#6b7280;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.filter-reset-btn:hover{color:#111827;background:#f9fafb}.project-teams{max-width:1200px}.teams-header{margin-bottom:2rem}.teams-header h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 .5rem}.teams-header p{font-size:14px;color:#6b7280;margin:0}.teams-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.teams-empty h3{font-size:20px;font-weight:600;color:#111827;margin:0}.teams-empty p{font-size:14px;color:#6b7280;margin:.5rem 0 0}.teams-content{background:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:1.5rem}.teams-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.team-card{background:var(--background-surface-secondary);border:1px solid var(--border-primary);border-radius:16px;padding:var(--spacing-20);cursor:pointer;transition:all .2s ease}.team-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#667eea}.team-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.team-header h3{font-size:16px;font-weight:600;color:#111827;margin:0;flex:1}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize;flex-shrink:0}.status-archived{background:#f3f4f6;color:#6b7280}.team-description{font-size:14px;color:#6b7280;margin:0 0 .75rem;line-height:1.5}.team-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #e5e7eb}.team-meta{font-size:12px;color:#9ca3af}.project-users{max-width:1200px}.users-header{margin-bottom:2rem}.users-header h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 .5rem}.users-header p{font-size:14px;color:#6b7280;margin:0}.users-content{background:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:1.5rem}.users-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center}.users-empty h3{font-size:20px;font-weight:600;color:#111827;margin:0}.users-empty p{font-size:14px;color:#6b7280;margin:.5rem 0 0}.project-api-keys{max-width:1400px}.api-keys-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.api-keys-header h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 .5rem}.api-keys-header p{font-size:14px;color:#6b7280;margin:0}.create-button{padding:var(--spacing-8) var(--spacing-16);font-size:15px;font-weight:500;font-family:DM Sans,sans-serif;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:var(--radius-s);cursor:pointer;transition:all .2s ease;white-space:nowrap}.create-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.api-keys-loading,.api-keys-error,.api-keys-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.api-keys-loading p,.api-keys-error p,.api-keys-empty p{color:#6b7280;font-size:14px;margin:0}.api-keys-error p{color:#ef4444}.empty-icon{font-size:64px;margin-bottom:1rem}.api-keys-empty h3{font-size:20px;font-weight:600;color:#111827;margin:0}.api-keys-empty p{margin:.5rem 0 1.5rem}.retry-button{padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s}.retry-button:hover{background:#2563eb}.api-keys-content{background:#fff;border-radius:8px;border:1px solid #e5e7eb}.api-keys-table-container{overflow-x:auto;border-radius:8px}.api-keys-table{width:100%;border-collapse:collapse}.api-keys-table thead{background:#f9fafb}.api-keys-table th{padding:.75rem 1rem;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.api-keys-table th:first-child{padding-left:1.5rem}.api-keys-table th:last-child{padding-right:1.5rem}.api-keys-table td{padding:1rem;border-top:1px solid #e5e7eb;font-size:14px;color:#111827}.api-keys-table td:first-child{padding-left:1.5rem}.api-keys-table td:last-child{padding-right:1.5rem}.api-keys-table tbody tr:hover{background:#f9fafb}.api-key-cell{display:flex;align-items:center;gap:.5rem}.api-key-cell code{flex:1;font-family:Monaco,Menlo,monospace;font-size:13px;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px}.copy-key-button{padding:.25rem;background:none;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .15s;display:flex;align-items:center;justify-content:center}.copy-key-button:hover{background:#f3f4f6;color:#111827;border-color:#d1d5db}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active{background:#d1fae5;color:#065f46}.status-revoked{background:#fee2e2;color:#991b1b}.cell-date{color:#6b7280;font-size:13px}.action-button{padding:.375rem .75rem;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.action-button.revoke{background:#fee2e2;color:#991b1b}.action-button.revoke:hover{background:#fecaca}.project-settings{max-width:900px}.settings-header{margin-bottom:2rem}.settings-header h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 .5rem}.settings-header p{font-size:14px;color:#6b7280;margin:0}.error-message{padding:1rem;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c00;margin-bottom:1.5rem;font-size:14px}.settings-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e5e7eb}.section-header h2{font-size:18px;font-weight:600;color:#111827;margin:0 0 1.5rem}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:14px;font-weight:600;color:#111827}.form-group input{padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;transition:border-color .15s}.form-group input:focus{outline:none;border-color:#3b82f6}.form-group input.editing{border-color:#3b82f6}.form-group input.readonly{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-group input:disabled:not(.readonly){opacity:.5;cursor:not-allowed}.field-description{font-size:13px;color:#6b7280;margin:0}.input-with-actions{display:flex;gap:.75rem;align-items:center}.input-with-actions input{flex:1}.edit-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;white-space:nowrap}.edit-button:hover{background:#f9fafb;border-color:#9ca3af}.action-buttons{display:flex;gap:.5rem}.save-button,.cancel-button{padding:.625rem 1rem;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.save-button{background:#3b82f6;color:#fff}.save-button:hover:not(:disabled){background:#2563eb}.save-button:disabled{opacity:.5;cursor:not-allowed}.cancel-button{background:#fff;border:1px solid #d1d5db;color:#374151}.cancel-button:hover:not(:disabled){background:#f9fafb}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.logo-upload{display:flex;gap:1.5rem;align-items:flex-start}.logo-preview{width:100px;height:100px;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#9ca3af;background:#f9fafb}.logo-actions{flex:1;display:flex;flex-direction:column;gap:.5rem}.upload-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s;width:fit-content}.upload-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.upload-button:disabled{opacity:.5;cursor:not-allowed}.danger-zone{border-color:#fca5a5}.danger-zone .section-header h2{color:#dc2626}.danger-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.danger-info{flex:1}.danger-info h3{font-size:16px;font-weight:600;color:#111827;margin:0 0 .5rem}.danger-info p{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.delete-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s;white-space:nowrap}.delete-button:hover:not(:disabled){background:#b91c1c}.delete-button:disabled{opacity:.5;cursor:not-allowed}.app{min-height:100vh}:root{--typography-primary: #1f1f21;--typography-secondary: rgba(31, 31, 33, .74);--typography-tertiary: rgba(31, 31, 33, .56);--typography-accent: #2997c1;--typography-secondary-statistic: #ffffff;--bg-main: #f4f7fe;--background-surface-secondary: #ffffff;--background-surface-accent: #32a7d4;--background-chip-active: #ffffff;--bg-hover: #f7fafc;--border-primary: #e7e7e7;--border-color: #e9edf7;--border-light: #f4f7fe;--charts-context-negative: #fd4438;--success: #05cd99;--error: #ee5d50;--warning: #ffb547;--info: #4299e1;--spacing-0: 0px;--spacing-2: 2px;--spacing-4: 4px;--spacing-6: 6px;--spacing-8: 8px;--spacing-10: 10px;--spacing-12: 12px;--spacing-16: 16px;--spacing-20: 20px;--spacing-24: 24px;--spacing-28: 28px;--spacing-32: 32px;--spacing-40: 40px;--radius-xs: 6px;--radius-s: 8px;--radius-l: 16px;--radius-2xl: 24px;--radius-full: 360px;--shadow-card: 0px 18px 40px rgba(112, 144, 176, .12);--shadow-panel: -4px 0px 24px rgba(0, 0, 0, .06);--shadow-sm: 0px 4px 12px rgba(0, 0, 0, .05);--sidebar-width-expanded: 280px;--sidebar-width-minimized: 70px;--transition-speed: .3s;--transition-ease: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-main);color:var(--typography-primary);font-size:15px;font-weight:400;line-height:24px}#root{min-height:100vh}
