:root{--primary-color: #2563eb;--secondary-color: #64748b;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--text-primary: #0f172a;--text-secondary: #64748b;--border-color: #e2e8f0}body{margin:0;color:var(--text-primary);background-color:var(--bg-secondary)}*{box-sizing:border-box}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:1rem 2rem;box-shadow:0 1px 3px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.header h1{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin:0}.header p{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.auth-section{display:flex;align-items:center;gap:1rem}.login-btn{padding:.625rem 1.25rem;background:#24292e;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:background .2s}.login-btn:hover{background:#1b1f23}.user-menu{display:flex;align-items:center;gap:.75rem}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--border-color)}.user-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.logout-btn{padding:.5rem 1rem;background:var(--danger-color);color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.logout-btn:hover{background:#dc2626}.nav-tabs{background:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:0 2rem;display:flex;gap:.5rem;max-width:1400px;margin:0 auto;width:100%}.tab{padding:1rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:all .2s}.tab:hover{color:var(--primary-color)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.container{max-width:1400px;margin:0 auto;padding:2rem;width:100%;flex:1}.tab-content{background:var(--bg-primary);padding:2rem;border-radius:.5rem;border:1px solid var(--border-color)}.tab-content h2{margin-top:0;color:var(--text-primary)}.subtitle{color:var(--text-secondary);margin-bottom:2rem}.form{max-width:600px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group small{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.75rem}.btn-primary{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.warning-box{padding:1rem;border-radius:.375rem;margin-bottom:1.5rem;background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.warning-box p{margin:0;font-weight:500}.alert{padding:1rem;border-radius:.375rem;margin-top:1rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.info-box{background:#eff6ff;border:1px solid #bfdbfe;padding:1.5rem;border-radius:.375rem;color:#1e40af}.info-box h4{margin-top:0;margin-bottom:1rem}.info-box ul{margin:0;padding-left:1.5rem}.info-box li{margin-bottom:.5rem}.info-box a{color:#2563eb;text-decoration:underline}.configs-list{display:flex;flex-direction:column;gap:.75rem}.config-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem}.config-meta{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.btn-danger-sm{padding:.375rem .75rem;background:var(--danger-color);color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:background .2s}.btn-danger-sm:hover{background:#dc2626}.text-secondary{color:var(--text-secondary);font-style:italic}.result-box{margin-top:2rem;padding:1.5rem;background:#f0fdf4;border:1px solid #86efac;border-radius:.5rem}.result-box h3{color:var(--success-color);margin-top:0}.result-box p{margin:.5rem 0}.result-box details{margin-top:1rem}.result-box summary{cursor:pointer;color:var(--primary-color);font-weight:500;padding:.5rem 0}.result-box pre{background:var(--bg-secondary);padding:1rem;border-radius:.375rem;overflow-x:auto;font-size:.75rem;margin-top:.5rem}.progress-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin:1.5rem 0}.stat{text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary-color)}.stat-label{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.hero{text-align:center;padding:4rem 2rem;background:var(--bg-primary);border-radius:.5rem;margin-bottom:2rem}.hero h2{font-size:2.5rem;margin-bottom:1rem;color:var(--text-primary)}.hero p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto 2rem;line-height:1.6}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.feature-card{background:var(--bg-primary);padding:2rem;border-radius:.5rem;border:1px solid var(--border-color)}.feature-card h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.25rem}.feature-card p{color:var(--text-secondary);line-height:1.6}.feature-card ul{list-style:none;padding:0;margin-top:1rem}.feature-card li{padding:.5rem 0;color:var(--text-secondary)}.feature-card li:before{content:"✓ ";color:var(--success-color);font-weight:700;margin-right:.5rem}.footer{margin-top:auto;padding:2rem;text-align:center;color:var(--text-secondary);border-top:1px solid var(--border-color)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:var(--success-color);color:#fff}
