.header{height:var(--header-height);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default);position:sticky;top:0;z-index:100}.header-container{height:100%;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.header-logo{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);text-decoration:none}.header-logo:hover{text-decoration:none;opacity:.9}.logo-icon-sm{width:28px;height:28px}.header-nav{display:flex;align-items:center;gap:var(--spacing-md)}.nav-link{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:color var(--transition-fast),background-color var(--transition-fast)}.nav-link:hover{color:var(--color-text-primary);background-color:var(--color-bg-tertiary);text-decoration:none}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.user-menu{position:relative}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background-color:var(--color-accent-emphasis);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);cursor:pointer;border:2px solid transparent;transition:border-color var(--transition-fast);overflow:hidden}.user-avatar:hover{border-color:var(--color-text-link)}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-sm);min-width:200px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast)}.user-menu:hover .user-dropdown,.user-menu:focus-within .user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-header{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.dropdown-header strong{font-weight:var(--font-weight-semibold)}.dropdown-header span{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.dropdown-divider{height:1px;background-color:var(--color-border-muted);margin:var(--spacing-xs) 0}.dropdown-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);text-align:left;background:none;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.dropdown-item:hover{background-color:var(--color-bg-tertiary);text-decoration:none}.dropdown-item-danger{color:var(--color-danger)}.dropdown-item-danger:hover{background-color:#f851491a}@media (max-width: 768px){.header-nav{display:none}}.main-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--spacing-lg) 0}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-primary) 0%,#1a1f2e 100%);padding:var(--spacing-lg)}.auth-container{width:100%;max-width:400px}.auth-logo{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.logo-icon{width:40px;height:40px;color:var(--color-text-primary)}.logo-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,#58a6ff,#a371f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.auth-footer{text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-top:var(--spacing-lg)}.home-page{overflow:hidden}.hero{text-align:center;padding:var(--spacing-2xl) 0;background:radial-gradient(ellipse at center,rgba(88,166,255,.1) 0%,transparent 70%)}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}.gradient-text{display:block;background:linear-gradient(135deg,#58a6ff,#a371f7,#f778ba);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--spacing-xl)}.hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.features{padding:var(--spacing-2xl) 0}.section-title{text-align:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xl)}.feature-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:border-color var(--transition-normal),transform var(--transition-normal)}.feature-card:hover{border-color:var(--color-accent-emphasis);transform:translateY(-4px)}.feature-icon{font-size:2rem;margin-bottom:var(--spacing-md)}.feature-card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.feature-card p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.cta{text-align:center;padding:var(--spacing-2xl) 0;background:linear-gradient(180deg,transparent 0%,rgba(35,134,54,.1) 100%)}.cta h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.cta p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.dashboard-page{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.welcome-section h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.welcome-section p{color:var(--text-secondary);margin:0}.quick-actions,.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0003;min-width:180px;z-index:100;overflow:hidden}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-primary);text-decoration:none;transition:background .2s}.dropdown-item:hover{background:var(--bg-tertiary)}.dropdown-item svg{color:var(--text-secondary)}.dashboard-content{display:flex;flex-direction:column;gap:2.5rem}.dashboard-section{display:flex;flex-direction:column}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.view-all-link{color:var(--accent-primary);text-decoration:none;font-size:.875rem}.view-all-link:hover{text-decoration:underline}.loading-placeholder{padding:2rem;text-align:center;color:var(--text-secondary)}.empty-section{text-align:center;padding:3rem 2rem;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:12px}.empty-icon{color:var(--text-tertiary);margin-bottom:1rem}.empty-section p{color:var(--text-secondary);margin:0 0 1.5rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.project-card{display:flex;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;text-decoration:none;transition:all .2s}.project-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.project-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:8px;color:var(--text-secondary);flex-shrink:0}.project-info{flex:1;min-width:0}.project-info h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-description{font-size:.8125rem;color:var(--text-secondary);margin:.375rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.private-badge{padding:.25rem .5rem;background:#6c757d1a;color:#6c757d;border-radius:4px;font-size:.6875rem;font-weight:500;align-self:flex-start}.group-list{display:flex;flex-direction:column;gap:.5rem}.group-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;transition:all .2s}.group-item:hover{border-color:var(--accent-primary);background:var(--bg-tertiary)}.group-avatar{width:36px;height:36px;border-radius:6px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.group-info h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.group-path{font-size:.8125rem;color:var(--text-secondary)}.quick-start-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.quick-start-card{padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;text-align:center;transition:all .2s}.quick-start-card:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.card-icon{width:48px;height:48px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#00d4aa1a,#00b6aa1a);border-radius:12px;color:var(--accent-primary)}.quick-start-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.quick-start-card p{font-size:.8125rem;color:var(--text-secondary);margin:0}.group-list-page{max-width:1200px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.header-content h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.header-content .subtitle{color:var(--text-secondary);margin:0}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.error-message{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;padding:1rem;border-radius:8px;margin-bottom:1rem}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border-color)}.empty-icon{color:var(--text-tertiary);margin-bottom:1.5rem}.empty-state h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);margin:0 0 1.5rem}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.group-card{display:flex;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;text-decoration:none;transition:all .2s ease}.group-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.group-avatar{width:48px;height:48px;border-radius:8px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;flex-shrink:0}.group-info{flex:1;min-width:0}.group-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-path{font-size:.875rem;color:var(--text-secondary)}.group-description{font-size:.875rem;color:var(--text-tertiary);margin:.5rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-meta{display:flex;align-items:flex-start}.visibility-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.form-group{margin-bottom:1.5rem}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.875rem;transition:border-color .2s}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.form-group textarea{resize:vertical}.visibility-options{display:flex;flex-direction:column;gap:.75rem}.visibility-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.visibility-option:hover{border-color:var(--accent-primary)}.visibility-option input{margin-top:4px}.visibility-option .option-content{display:flex;flex-direction:column}.visibility-option .option-content strong{color:var(--text-primary);font-size:.875rem}.visibility-option .option-content span{color:var(--text-secondary);font-size:.75rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:1.5rem}.input-with-prefix{display:flex;align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:border-color .2s}.group-page{max-width:1200px;margin:0 auto;padding:2rem}.group-header{display:flex;gap:1.5rem;padding:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem}.group-avatar{width:80px;height:80px;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;flex-shrink:0}.group-title{flex:1}.group-title h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.group-path{font-size:1rem;color:var(--text-secondary)}.group-description{color:var(--text-tertiary);margin:.75rem 0 0;font-size:.9375rem}.group-actions{display:flex;align-items:flex-start;gap:.75rem}.visibility-badge{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500}.visibility-badge.public{background:#00d4aa1a;color:var(--accent-primary)}.visibility-badge.internal{background:#ffc1071a;color:#ffc107}.visibility-badge.private{background:#6c757d1a;color:#6c757d}.tab{padding:.75rem 1.25rem;background:transparent;border:none;color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;position:relative;transition:color .2s}.overview-grid{display:flex;flex-direction:column;gap:2rem}.section h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.item-list{display:flex;flex-direction:column;gap:.75rem}.item-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;transition:all .2s}.item-card:hover{border-color:var(--accent-primary);transform:translate(4px)}.item-avatar{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-avatar.group{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-weight:600}.item-avatar.repo{background:var(--bg-tertiary);color:var(--text-secondary)}.item-info{flex:1;min-width:0}.item-info h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.item-path{font-size:.8125rem;color:var(--text-secondary)}.item-description{font-size:.8125rem;color:var(--text-tertiary);margin:.25rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.private-badge{padding:.25rem .5rem;background:#6c757d1a;color:#6c757d;border-radius:4px;font-size:.75rem;font-weight:500}.empty-section{text-align:center;padding:2rem;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px}.empty-section.large{padding:4rem 2rem}.empty-section h3{font-size:1.125rem;color:var(--text-primary);margin:0 0 .5rem}.empty-section p{color:var(--text-secondary);margin:0 0 1rem}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.search-input{width:300px;padding:.625rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.875rem}.search-input:focus{outline:none;border-color:var(--accent-primary)}.project-list{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.project-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);text-decoration:none;transition:background .2s}.project-row:last-child{border-bottom:none}.project-row:hover{background:var(--bg-tertiary)}.project-icon{color:var(--text-tertiary)}.project-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.project-name{font-weight:600;color:var(--text-primary)}.project-path{font-size:.8125rem;color:var(--text-tertiary)}.project-meta{display:flex;align-items:center;gap:.5rem}.branch-badge{padding:.25rem .5rem;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;font-size:.75rem;font-family:Fira Code,monospace}.member-count{color:var(--text-secondary);font-size:.9375rem}.member-list{display:flex;flex-direction:column;gap:.5rem}.member-row{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.member-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.member-info{display:flex;flex-direction:column}.member-name{font-weight:600;color:var(--text-primary)}.member-role{font-size:.8125rem;color:var(--text-secondary)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);width:100%;max-width:480px;max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-secondary);z-index:1}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal form{padding:1.5rem}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.875rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-label input{width:18px;height:18px}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:1rem}.modal-lg{max-width:580px!important}.form-section{margin-bottom:1.5rem}.form-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.form-hint{display:block;font-size:.75rem;color:var(--text-tertiary);margin-top:.375rem}.form-row{display:flex;gap:1rem;align-items:flex-start}.flex-1{flex:1;min-width:0}.input-with-prefix{display:flex;align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:border-color .2s;min-height:42px}.input-with-prefix:focus-within{border-color:var(--accent-primary)}.input-prefix{padding:.75rem .75rem .75rem 1rem;color:var(--text-tertiary);font-size:.875rem;background:var(--bg-tertiary);border-right:1px solid var(--border-color);white-space:nowrap}.input-with-prefix input{flex:1;border:none!important;background:transparent!important;padding:.75rem 1rem;min-width:0}.input-with-prefix input:focus{outline:none;box-shadow:none}.visibility-cards{display:flex;flex-direction:column;gap:.625rem}.visibility-card{display:flex;align-items:flex-start;gap:.875rem;padding:1rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.visibility-card:hover{border-color:var(--text-tertiary)}.visibility-card.selected{border-color:var(--accent-primary);background:#00d4aa0d}.visibility-card input[type=radio]{display:none}.visibility-icon{width:36px;height:36px;border-radius:8px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.visibility-card.selected .visibility-icon{background:var(--accent-primary);color:#fff}.visibility-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.visibility-info strong{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.visibility-info span{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.danger-zone{margin-top:2rem}.danger-zone h2{color:#ef4444}.danger-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:8px}.danger-info strong{display:block;color:var(--text-primary);margin-bottom:.25rem}.danger-info p{color:var(--text-secondary);font-size:.875rem;margin:0}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.empty-repo-guide{max-width:900px;margin:0 auto;padding:2rem}.empty-repo-notice{background:var(--color-bg-tertiary, #1e2a38);border:1px solid var(--color-border, #2d3a4a);border-radius:8px;padding:1.5rem;margin-bottom:2rem;display:flex;align-items:flex-start;gap:1rem}.notice-icon{font-size:1.5rem;color:var(--color-primary, #3b82f6)}.notice-content h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-text-primary, #e2e8f0)}.notice-content p{margin:0;font-size:.875rem;color:var(--color-text-secondary, #94a3b8)}.guide-section{margin-bottom:2rem}.guide-section h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary, #e2e8f0);margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border, #2d3a4a)}.guide-section h3{font-size:1rem;font-weight:600;color:var(--color-text-primary, #e2e8f0);margin:1.5rem 0 .75rem}.guide-section h4{font-size:.875rem;font-weight:600;color:var(--color-text-primary, #e2e8f0);margin:1.25rem 0 .5rem}.guide-section p{font-size:.875rem;color:var(--color-text-secondary, #94a3b8);margin:0 0 1rem}.guide-section a{color:var(--color-primary, #3b82f6);text-decoration:none}.guide-section a:hover{text-decoration:underline}.clone-panel{background:var(--color-bg-tertiary, #1e2a38);border:1px solid var(--color-border, #2d3a4a);border-radius:8px;padding:1rem;margin-bottom:2rem}.clone-panel h3{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary, #e2e8f0)}.clone-url-row{display:flex;align-items:center;gap:.5rem;background:var(--color-bg-secondary, #0f1419);border:1px solid var(--color-border, #2d3a4a);border-radius:6px;padding:.5rem .75rem}.clone-url-row input{flex:1;background:transparent;border:none;color:var(--color-text-primary, #e2e8f0);font-family:Fira Code,Monaco,monospace;font-size:.8125rem;outline:none}.copy-btn{background:var(--color-bg-tertiary, #1e2a38);border:1px solid var(--color-border, #2d3a4a);border-radius:4px;padding:.375rem .75rem;color:var(--color-text-secondary, #94a3b8);font-size:.75rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.25rem}.copy-btn:hover{background:var(--color-primary, #3b82f6);color:#fff;border-color:var(--color-primary, #3b82f6)}.copy-btn.copied{background:var(--color-success, #22c55e);color:#fff;border-color:var(--color-success, #22c55e)}.guide-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border, #2d3a4a)}.guide-tab{padding:.5rem 1rem;font-size:.875rem;color:var(--color-text-secondary, #94a3b8);background:transparent;border:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.guide-tab:hover{color:var(--color-text-primary, #e2e8f0)}.guide-tab.active{color:var(--color-primary, #3b82f6);border-bottom-color:var(--color-primary, #3b82f6)}.code-block{background:var(--color-bg-secondary, #0f1419);border:1px solid var(--color-border, #2d3a4a);border-radius:6px;overflow:hidden;margin-bottom:1rem;position:relative}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--color-bg-tertiary, #1e2a38);border-bottom:1px solid var(--color-border, #2d3a4a)}.code-block-title{font-size:.75rem;color:var(--color-text-secondary, #94a3b8)}.code-block pre{margin:0;padding:1rem;overflow-x:auto}.code-block code{font-family:Fira Code,Monaco,Consolas,monospace;font-size:.8125rem;color:var(--color-text-primary, #e2e8f0);line-height:1.6}.step-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--color-primary, #3b82f6);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600;margin-right:.5rem}@media (max-width: 768px){.empty-repo-guide{padding:1rem}.clone-url-row{flex-direction:column;align-items:stretch}.clone-url-row input{text-align:center;margin-bottom:.5rem}.copy-btn{justify-content:center}}.repo-page{max-width:1200px;margin:0 auto;padding:2rem}.loading{text-align:center;padding:4rem;color:var(--text-secondary)}.error-state{text-align:center;padding:4rem 2rem}.error-state h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 .5rem}.error-state p{color:var(--text-secondary);margin:0 0 1.5rem}.repo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.repo-title{display:flex;align-items:flex-start;gap:1rem}.repo-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary)}.repo-title h1{font-size:1.5rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.25rem}.path-link{color:var(--accent-primary);text-decoration:none}.path-link:hover{text-decoration:underline}.path-separator{color:var(--text-tertiary);margin:0 .25rem}.repo-name{color:var(--text-primary)}.repo-description{color:var(--text-secondary);font-size:.9375rem;margin:.5rem 0 0}.repo-actions{display:flex;align-items:center;gap:.75rem}.private-badge{padding:.375rem .75rem;background:#6c757d1a;color:#6c757d;border-radius:6px;font-size:.75rem;font-weight:500}.clone-section{margin-bottom:1.5rem}.clone-input-group{display:flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;max-width:600px}.clone-label{padding:.75rem 1rem;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.75rem;font-weight:600;border-right:1px solid var(--border-color)}.clone-input{flex:1;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary);font-size:.875rem;font-family:Fira Code,monospace}.clone-input:focus{outline:none}.copy-btn{padding:.75rem 1rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s}.copy-btn:hover{color:var(--accent-primary);background:var(--bg-tertiary)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;position:relative;transition:color .2s}.tab.active{color:var(--accent-primary)}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent-primary)}.code-tab{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.branch-selector{padding:1rem;border-bottom:1px solid var(--border-color)}.branch-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.branch-btn:hover{background:var(--bg-hover)}.empty-repo{padding:3rem;text-align:center}.empty-repo h3{font-size:1.25rem;color:var(--text-primary);margin:0 0 .5rem}.empty-repo>p{color:var(--text-secondary);margin:0 0 1.5rem}.code-block{text-align:left;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;max-width:600px;margin:0 auto}.code-block pre{margin:0;font-family:Fira Code,monospace;font-size:.8125rem;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.branches-tab{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.branch-list{display:flex;flex-direction:column}.branch-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.branch-row:last-child{border-bottom:none}.branch-info{display:flex;align-items:center;gap:1rem}.branch-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.branch-sha{font-family:Fira Code,monospace;font-size:.8125rem;color:var(--text-tertiary)}.settings-tab{display:flex;flex-direction:column;gap:2rem}.settings-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.settings-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem}.setting-item{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.setting-item:last-child{margin-bottom:0}.setting-item label{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.9375rem}.setting-item select{padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem}.settings-section.danger{border-color:#ff6b6b4d}.settings-section.danger h3{color:#ff6b6b}.danger-item{display:flex;justify-content:space-between;align-items:center}.danger-item strong{color:var(--text-primary)}.danger-item p{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0}.btn-danger{background:#ff6b6b;color:#fff;border:none;padding:.625rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#e55555}.empty-section{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.file-tree{padding:0}.tree-loading,.tree-empty{padding:2rem;text-align:center;color:var(--text-secondary)}.breadcrumbs{display:inline-flex;align-items:center;margin-left:1rem;font-size:.875rem}.breadcrumbs button{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:.25rem .5rem;font-size:.875rem}.breadcrumbs button:hover{text-decoration:underline}.breadcrumbs span{color:var(--text-tertiary)}.file-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .15s}.file-item:hover{background:var(--bg-hover)}.file-icon{font-size:1rem;width:1.25rem;text-align:center}.file-icon.blob{color:var(--text-secondary)}.file-name{color:var(--text-primary);font-size:.9375rem}.file-item:hover .file-name{color:var(--accent-primary)}.file-browser{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.browser-toolbar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.branch-select{flex-shrink:0}.branch-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.branch-button:hover{border-color:var(--accent-primary)}.breadcrumbs{flex:1;display:flex;align-items:center;gap:.25rem;overflow:hidden}.breadcrumb-link{color:var(--accent-primary);text-decoration:none;font-size:.9375rem;white-space:nowrap}.toolbar-actions{display:flex;gap:.5rem}.toolbar-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.8125rem;text-decoration:none;transition:all .2s}.toolbar-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent-primary)}.loading{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:3rem}.file-list{display:flex;flex-direction:column}.file-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .2s}.file-item:hover{background:var(--bg-tertiary)}.file-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-icon.tree{color:#54aeff}.file-icon.blob{color:var(--text-tertiary)}.file-name{flex:1;color:var(--text-primary);font-size:.9375rem}.file-content-page{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.file-toolbar{display:flex;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.breadcrumbs{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.breadcrumb-link{color:var(--accent-primary);text-decoration:none;font-size:.9375rem}.breadcrumb-link:hover{text-decoration:underline}.separator{color:var(--text-tertiary);margin:0 .25rem}.current-file{color:var(--text-primary);font-weight:600}.error-message{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;padding:1rem;margin:1rem;border-radius:6px}.file-viewer{display:flex;flex-direction:column}.file-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.file-info{display:flex;gap:1rem;font-size:.8125rem;color:var(--text-secondary)}.file-actions{display:flex;gap:.5rem}.action-btn:hover{background:var(--bg-secondary);color:var(--accent-primary)}.file-content{overflow:auto}.binary-preview{padding:2rem;text-align:center}.image-preview{max-width:100%;max-height:600px;border-radius:4px}.binary-info{color:var(--text-secondary)}.binary-info p{margin:.5rem 0}.code-content{margin:0;font-family:Fira Code,Consolas,monospace;font-size:.8125rem;line-height:1.5;background:transparent}.code-line{display:flex;min-height:1.5em}.code-line:hover{background:#ffffff08}.line-number{display:inline-block;width:50px;padding-right:1rem;text-align:right;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;flex-shrink:0;border-right:1px solid var(--border-color);margin-right:1rem}.line-content{flex:1;color:var(--text-primary);white-space:pre;padding-right:1rem}.commit-history-page{max-width:1000px;margin:0 auto;padding:2rem}.branch-info{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem}.commit-list{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.commit-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);transition:background .2s}.commit-item:last-child{border-bottom:none}.commit-item:hover{background:var(--bg-tertiary)}.commit-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.commit-content{flex:1;min-width:0}.commit-message{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.commit-title{color:var(--text-primary);font-weight:500;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-title:hover{color:var(--accent-primary);text-decoration:underline}.expand-btn{padding:.125rem .375rem;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-tertiary);font-size:.75rem;cursor:pointer}.expand-btn:hover{background:var(--bg-hover)}.commit-meta{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.author-name{font-weight:500}.commit-sha{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.sha-link{padding:.375rem .5rem;background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary);text-decoration:none;font-family:Fira Code,monospace;font-size:.8125rem}.sha-link:hover{color:var(--accent-primary);background:var(--bg-hover)}.copy-btn{padding:.375rem;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px}.copy-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.load-more{text-align:center;padding:1.5rem}.load-more-btn{padding:.625rem 1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.load-more-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.empty-state{text-align:center;padding:3rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.empty-state p{color:var(--text-secondary);margin:0}.diff-view{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.diff-header{padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.diff-stats{display:flex;gap:1rem;font-size:.875rem}.stat-item{font-weight:500}.stat-item.changed{color:var(--text-primary)}.stat-item.additions{color:#4ade80}.stat-item.deletions{color:#f87171}.diff-files{display:flex;flex-direction:column}.empty-diff{padding:2rem;text-align:center;color:var(--text-secondary)}.file-item{border-bottom:1px solid var(--border-color)}.file-item:last-child{border-bottom:none}.file-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background .2s}.file-header:hover{background:var(--bg-tertiary)}.file-info{display:flex;align-items:center;gap:.5rem}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;font-size:.625rem;font-weight:700;flex-shrink:0}.status-icon.added{background:#4ade8033;color:#4ade80}.status-icon.deleted{background:#f8717133;color:#f87171}.status-icon.modified{background:#fbbf2433;color:#fbbf24}.file-path{font-size:.875rem;color:var(--text-primary);font-family:Fira Code,monospace}.file-stats{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;font-family:Fira Code,monospace}.file-stats .additions{color:#4ade80}.file-stats .deletions{color:#f87171}.expand-icon{color:var(--text-tertiary);font-size:.625rem;margin-left:.5rem}.file-diff-content{background:var(--bg-primary);border-top:1px solid var(--border-color)}.diff-placeholder{padding:1.5rem;text-align:center;color:var(--text-secondary)}.diff-placeholder code{display:block;font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}.commit-detail-page{max-width:1000px;margin:0 auto;padding:2rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:color .2s}.back-link:hover{color:var(--accent-primary)}.commit-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.commit-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.commit-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.commit-body{margin:1rem 0 0;padding:1rem;background:var(--bg-tertiary);border-radius:6px;font-family:inherit;font-size:.9375rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.5}.commit-meta{padding:1.25rem 1.5rem}.meta-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.author-info{display:flex;align-items:center;gap:.75rem}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.info{display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:center}.info .name{font-weight:600;color:var(--text-primary)}.info .email{color:var(--text-tertiary);font-size:.875rem}.info .time{color:var(--text-secondary);font-size:.875rem}.meta-details{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}.detail-item{display:flex;align-items:center;gap:.75rem}.detail-item .label{color:var(--text-secondary);font-size:.8125rem;min-width:80px}.detail-item .value{font-family:Fira Code,monospace;font-size:.8125rem;color:var(--text-primary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.copy-btn{padding:.25rem;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px}.copy-btn:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.parents{display:flex;gap:.5rem}.parent-link{font-family:Fira Code,monospace;font-size:.8125rem;color:var(--accent-primary);text-decoration:none;background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.parent-link:hover{background:var(--bg-hover)}.actions-bar{display:flex;gap:.75rem;margin-bottom:1.5rem}.diff-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.section-header h2{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.diff-stats{display:flex;gap:.75rem;font-family:Fira Code,monospace;font-size:.8125rem}.additions{color:#4ade80}.deletions{color:#f87171}.diff-placeholder{padding:3rem;text-align:center;color:var(--text-secondary)}.diff-placeholder p{margin:0 0 .5rem}.diff-placeholder .hint{font-size:.8125rem;color:var(--text-tertiary)}.branch-list-page{max-width:1000px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-left{display:flex;align-items:center;gap:1rem}.page-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.repo-link{color:var(--accent-primary);text-decoration:none}.repo-link:hover{text-decoration:underline}.separator{color:var(--text-tertiary)}.branch-count{color:var(--text-secondary);font-size:.875rem}.error-message{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;padding:1rem;border-radius:6px;margin-bottom:1rem}.loading,.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state h3{font-size:1.125rem;color:var(--text-primary);margin:0 0 .5rem}.empty-state p{margin:0}.branch-list{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.branch-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);transition:background .2s}.branch-item:last-child{border-bottom:none}.branch-item:hover{background:var(--bg-tertiary)}.branch-item.default{background:#00d4aa0d}.branch-info{display:flex;flex-direction:column;gap:.375rem}.branch-name{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.branch-link{color:var(--text-primary);font-weight:500;text-decoration:none}.branch-link:hover{color:var(--accent-primary)}.default-badge{padding:.125rem .375rem;background:var(--accent-primary);color:#fff;border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase}.branch-meta{display:flex;gap:1rem;font-size:.8125rem;color:var(--text-tertiary)}.sha{font-family:Fira Code,monospace}.branch-actions{display:flex;gap:.25rem}.action-btn{padding:.375rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .2s;text-decoration:none;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.action-btn.danger:hover{color:#ff6b6b}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-secondary);border-radius:12px;width:100%;max-width:400px;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;border-radius:4px}.close-btn:hover{background:var(--bg-tertiary)}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.875rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00d4aa4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover)}.admin-dashboard{max-width:1200px;margin:0 auto;padding:2rem}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0}.loading,.error-state{text-align:center;padding:3rem;color:var(--text-secondary)}.error-state h2{font-size:1.25rem;color:var(--text-primary);margin:0 0 .5rem}.error-state p{margin:0 0 1rem}.tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.tab{padding:.75rem 1.25rem;background:none;border:none;color:var(--text-secondary);font-size:.9375rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-icon.users{background:#3b82f626;color:#3b82f6}.stat-icon.repos{background:#10b98126;color:#10b981}.stat-icon.groups{background:#8b5cf626;color:#8b5cf6}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.875rem;color:var(--text-secondary)}.table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-tertiary)}.username,.repo-name{font-weight:500;color:var(--text-primary)}.email,.repo-path a{color:var(--text-secondary);text-decoration:none}.repo-path a:hover{color:var(--accent-primary)}.role-badge,.status-badge,.visibility-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:4px}.role-badge.admin{background:#ef444426;color:#ef4444}.role-badge.user{background:#6b728026;color:#6b7280}.status-badge.active{background:#10b98126;color:#10b981}.status-badge.inactive{background:#ef444426;color:#ef4444}.visibility-badge.public{background:#3b82f626;color:#3b82f6}.visibility-badge.private{background:#fbbf2426;color:#f59e0b}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00d4aa4d}:root{--color-bg-primary: #0d1117;--color-bg-secondary: #161b22;--color-bg-tertiary: #21262d;--color-bg-overlay: rgba(0, 0, 0, .5);--color-border-default: #30363d;--color-border-muted: #21262d;--color-text-primary: #e6edf3;--color-text-secondary: #8b949e;--color-text-tertiary: #6e7681;--color-text-link: #58a6ff;--color-accent-primary: #238636;--color-accent-primary-hover: #2ea043;--color-accent-emphasis: #1f6feb;--color-accent-emphasis-hover: #388bfd;--color-danger: #f85149;--color-danger-hover: #da3633;--color-warning: #d29922;--color-success: #238636;--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-hover: #30363d;--border-color: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #6e7681;--accent-primary: #00d4aa;--accent-secondary: #00b894;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--header-height: 60px;--sidebar-width: 260px;--content-max-width: 1280px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent-emphasis);box-shadow:0 0 0 3px #1f6feb4d}code,pre{font-family:var(--font-mono);font-size:var(--font-size-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background-color:var(--color-accent-emphasis);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:background-color var(--transition-fast),border-color var(--transition-fast);cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-accent-primary);color:#fff;border:1px solid var(--color-accent-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-primary-hover)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.btn-secondary:hover:not(:disabled){background-color:var(--color-border-default)}.btn-danger{background-color:var(--color-danger);color:#fff;border:1px solid var(--color-danger)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}.card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--spacing-md)}.card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-muted);margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary)}.form-input:focus{border-color:var(--color-accent-emphasis);box-shadow:0 0 0 3px #1f6feb4d;outline:none}.form-error{color:var(--color-danger);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--spacing-md)}.grid{display:grid;gap:var(--spacing-md)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-muted{color:var(--color-text-secondary)}.text-danger{color:var(--color-danger)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#000000bf!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:1000!important;padding:1.5rem!important}.modal{background:var(--bg-secondary, #161b22)!important;border-radius:12px!important;border:1px solid var(--border-color, #30363d)!important;width:100%!important;max-width:480px!important;max-height:calc(100vh - 3rem)!important;overflow-y:auto!important;box-shadow:0 20px 60px #00000080!important;display:flex!important;flex-direction:column!important}.modal-header{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:1rem 1.25rem!important;border-bottom:1px solid var(--border-color, #30363d)!important;flex-shrink:0!important}.modal form,.modal-body{padding:1.25rem!important;overflow-y:auto!important;flex:1!important}.modal-actions,.modal-footer{display:flex!important;justify-content:flex-end!important;gap:.75rem!important;padding:1rem 1.25rem!important;border-top:1px solid var(--border-color, #30363d)!important;flex-shrink:0!important;background:var(--bg-tertiary, #21262d)!important}
