/* ========================================== MCP MANAGER - ORANGE THEME ENHANCEMENTS ========================================== */ /* ========================================== BASIC BUTTON STYLES ========================================== */ /* Primary buttons (blue) */ .bg-primary { background-color: hsl(221.2, 83.2%, 53.3%); color: white; } .bg-primary:hover { background-color: hsl(221.2, 83.2%, 45%); } .dark .bg-primary { background-color: hsl(217.2, 91.2%, 59.8%); } .dark .bg-primary:hover { background-color: hsl(217.2, 91.2%, 65%); } /* Success buttons (green) */ .bg-success { background-color: hsl(142.1, 76.2%, 36.3%); color: white; } .bg-success:hover { background-color: hsl(142.1, 76.2%, 30%); } .dark .bg-success { background-color: hsl(142.1, 70.6%, 45.3%); } .dark .bg-success:hover { background-color: hsl(142.1, 70.6%, 50%); } /* Destructive buttons (red) */ .bg-destructive { background-color: hsl(0, 84.2%, 60.2%); color: white; } .bg-destructive:hover { background-color: hsl(0, 84.2%, 50%); } .dark .bg-destructive { background-color: hsl(0, 62.8%, 30.6%); } .dark .bg-destructive:hover { background-color: hsl(0, 62.8%, 40%); } /* Secondary buttons (gray) */ .bg-secondary { background-color: hsl(210, 40%, 96.1%); color: hsl(222.2, 47.4%, 11.2%); } .bg-secondary:hover { background-color: hsl(210, 40%, 90%); } .dark .bg-secondary { background-color: hsl(217.2, 32.6%, 17.5%); color: hsl(210, 40%, 98%); } .dark .bg-secondary:hover { background-color: hsl(217.2, 32.6%, 22%); } /* Muted/Ghost buttons */ .bg-muted { background-color: hsl(210, 40%, 96.1%); color: hsl(215.4, 16.3%, 46.9%); } .bg-muted:hover { background-color: hsl(210, 40%, 90%); } .dark .bg-muted { background-color: hsl(217.2, 32.6%, 17.5%); color: hsl(215, 20.2%, 65.1%); } .dark .bg-muted:hover { background-color: hsl(217.2, 32.6%, 22%); } /* Button base styles */ button { cursor: pointer; transition: all 0.2s ease; border: none; border-radius: 0.375rem; padding: 0.5rem 1rem; font-weight: 500; font-size: 0.875rem; } button:disabled { opacity: 0.5; cursor: not-allowed; } button:focus-visible { outline: 2px solid hsl(221.2, 83.2%, 53.3%); outline-offset: 2px; } /* Icon buttons */ button.icon-btn { padding: 0.5rem; display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; min-height: 2rem; } /* ========================================== CLAUDE (ORANGE) & CODEX (GREEN) THEMES ========================================== */ /* Claude Orange Colors */ .text-claude { color: #f97316; } .bg-claude { background-color: #f97316; color: white; } .bg-claude:hover { background-color: #ea580c; } .border-claude { border-color: #f97316; } /* Codex Green Colors */ .text-codex { color: #22c55e; } .bg-codex { background-color: #22c55e; color: white; } .bg-codex:hover { background-color: #16a34a; } .border-codex { border-color: #22c55e; } /* Dark mode adjustments */ .dark .text-claude { color: #fb923c; } .dark .text-codex { color: #4ade80; } /* ========================================== ORANGE THEME ENHANCEMENTS (CLAUDE) ========================================== */ /* MCP CLI Mode Toggle - Orange for Claude */ .mcp-cli-toggle .cli-mode-btn { position: relative; overflow: hidden; } .mcp-cli-toggle .cli-mode-btn::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%); transform: translateX(-100%); transition: transform 0.6s; } .mcp-cli-toggle .cli-mode-btn:hover::before { transform: translateX(100%); } /* CCW Tools Card - Enhanced Orange Gradient */ .ccw-tools-card { position: relative; overflow: hidden; transition: all 0.3s ease; } .ccw-tools-card::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(249, 115, 22, 0.1) 0%, transparent 70%); opacity: 0; transition: opacity 0.3s ease; pointer-events: none; /* Prevent blocking clicks */ z-index: 0; } /* Ensure interactive elements are above decorative layers */ .ccw-tools-card button, .ccw-tools-card input, .ccw-tools-card label { position: relative; z-index: 1; } .ccw-tools-card:hover::before { opacity: 1; } .ccw-tools-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(249, 115, 22, 0.2); } /* Orange-themed buttons and badges */ .bg-orange-500 { background-color: #f97316; } .text-orange-500 { color: #f97316; } .text-orange-600 { color: #ea580c; } .text-orange-700 { color: #c2410c; } .text-orange-800 { color: #9a3412; } .bg-orange-50 { background-color: #fff7ed; } .bg-orange-100 { background-color: #ffedd5; } .border-orange-200 { border-color: #fed7aa; } .border-orange-500\/20 { border-color: rgba(249, 115, 22, 0.2); } .border-orange-500\/30 { border-color: rgba(249, 115, 22, 0.3); } .border-orange-800 { border-color: #9a3412; } /* Dark mode orange colors */ .dark .bg-orange-50 { background-color: rgba(249, 115, 22, 0.05); } .dark .bg-orange-100 { background-color: rgba(249, 115, 22, 0.1); } .dark .bg-orange-900\/30 { background-color: rgba(124, 45, 18, 0.3); } .dark .text-orange-200 { color: #fed7aa; } .dark .text-orange-300 { color: #fdba74; } .dark .text-orange-400 { color: #fb923c; } .dark .border-orange-800 { border-color: #9a3412; } .dark .border-orange-950\/30 { background-color: rgba(67, 20, 7, 0.3); } /* Codex MCP Server Cards - Orange Borders */ .mcp-server-card[data-cli-type="codex"] { border-left: 3px solid #f97316; transition: all 0.3s ease; } .mcp-server-card[data-cli-type="codex"]:hover { border-left-width: 4px; box-shadow: 0 4px 16px rgba(249, 115, 22, 0.15); } /* Toggle switches - Orange for Codex */ .mcp-toggle input:checked + div.peer-checked\:bg-orange-500 { background: #f97316; } /* Installation buttons - Enhanced Orange */ .bg-orange-500:hover { background-color: #ea580c; box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3); } /* Info panels - Orange accent */ .bg-orange-50.dark\:bg-orange-950\/30 { border-left: 3px solid #f97316; } /* Codex section headers */ .text-orange-500 svg { filter: drop-shadow(0 2px 4px rgba(249, 115, 22, 0.3)); } /* Animated pulse for available/install states */ .border-orange-500\/30 { animation: orangePulse 2s ease-in-out infinite; } @keyframes orangePulse { 0%, 100% { border-color: rgba(249, 115, 22, 0.3); box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); } 50% { border-color: rgba(249, 115, 22, 0.6); box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.1); } } /* Server badges with orange accents */ .text-xs.px-2.py-0\.5.bg-orange-100 { font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } /* Codex server list enhancements */ .mcp-section h3.text-orange-500 { background: linear-gradient(90deg, #f97316 0%, #ea580c 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 700; } /* Install button hover effects */ .bg-orange-500.rounded-lg { position: relative; overflow: hidden; } .bg-orange-500.rounded-lg::after { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.3); transform: translate(-50%, -50%); transition: width 0.3s, height 0.3s; } .bg-orange-500.rounded-lg:active::after { width: 200px; height: 200px; } /* MCP Server Grid - Enhanced spacing for orange theme */ .mcp-server-grid { gap: 1.25rem; } /* Available servers - Dashed border with orange hints */ .mcp-server-available { border-style: dashed; border-width: 2px; border-color: hsl(var(--border)); transition: all 0.3s ease; } .mcp-server-available:hover { border-style: solid; border-color: #f97316; transform: translateY(-2px); } /* Status indicators with orange */ .inline-flex.items-center.gap-1.bg-orange-500\/20 { animation: availablePulse 2s ease-in-out infinite; } @keyframes availablePulse { 0%, 100% { opacity: 0.8; } 50% { opacity: 1; } } /* Section dividers with orange accents */ .mcp-section { border-bottom: 1px solid hsl(var(--border)); padding-bottom: 1.5rem; margin-bottom: 2rem; position: relative; } .mcp-section::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 60px; height: 2px; background: linear-gradient(90deg, #f97316 0%, transparent 100%); } /* Empty state icons with orange */ .mcp-empty-state i { color: #f97316; opacity: 0.3; } /* Enhanced focus states for orange buttons */ .bg-orange-500:focus-visible { outline: 2px solid #f97316; outline-offset: 2px; } /* Tooltip styles for orange theme */ [title]:hover::after { content: attr(title); position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); padding: 4px 8px; background: #1f2937; color: #fff; font-size: 0.75rem; white-space: nowrap; border-radius: 4px; pointer-events: none; z-index: 1000; } /* Orange-themed success badges */ .bg-success-light .inline-flex.items-center.gap-1 { background: linear-gradient(135deg, hsl(var(--success-light)) 0%, rgba(249, 115, 22, 0.1) 100%); } /* Config file status badges */ .inline-flex.items-center.gap-1\.5.bg-success\/10 { border-left: 2px solid hsl(var(--success)); } .inline-flex.items-center.gap-1\.5.bg-muted { border-left: 2px solid #f97316; } /* Responsive adjustments for orange theme */ @media (max-width: 768px) { .ccw-tools-card { padding: 1rem; } .mcp-server-grid { grid-template-columns: 1fr; gap: 1rem; } } /* Loading states with orange */ @keyframes orangeGlow { 0%, 100% { box-shadow: 0 0 10px rgba(249, 115, 22, 0.3); } 50% { box-shadow: 0 0 20px rgba(249, 115, 22, 0.6); } } .loading-orange { animation: orangeGlow 1.5s ease-in-out infinite; } /* Button group for install options */ .flex.gap-2 button.bg-primary, .flex.gap-2 button.bg-success { transition: all 0.2s ease; } .flex.gap-2 button.bg-primary:hover, .flex.gap-2 button.bg-success:hover { transform: scale(1.05); } /* Enhanced card shadows for depth */ .mcp-server-card { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } .mcp-server-card:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } /* Orange accent for project server headers */ .mcp-section .flex.items-center.gap-3 button { position: relative; overflow: hidden; } .mcp-section .flex.items-center.gap-3 button::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transform: translateX(-100%); transition: transform 0.5s; } .mcp-section .flex.items-center.gap-3 button:hover::before { transform: translateX(100%); } /* ========================================== GREEN THEME ENHANCEMENTS (CODEX) ========================================== */ /* Codex green colors palette */ .bg-green-500 { background-color: #22c55e; } .text-green-500 { color: #22c55e; } .text-green-600 { color: #16a34a; } .text-green-700 { color: #15803d; } .text-green-800 { color: #166534; } .bg-green-50 { background-color: #f0fdf4; } .bg-green-100 { background-color: #dcfce7; } .border-green-200 { border-color: #bbf7d0; } .border-green-500\/20 { border-color: rgba(34, 197, 94, 0.2); } .border-green-500\/30 { border-color: rgba(34, 197, 94, 0.3); } .border-green-800 { border-color: #166534; } /* Dark mode green colors */ .dark .bg-green-50 { background-color: rgba(34, 197, 94, 0.05); } .dark .bg-green-100 { background-color: rgba(34, 197, 94, 0.1); } .dark .bg-green-900\/30 { background-color: rgba(20, 83, 45, 0.3); } .dark .text-green-200 { color: #bbf7d0; } .dark .text-green-300 { color: #86efac; } .dark .text-green-400 { color: #4ade80; } .dark .border-green-800 { border-color: #166534; } .dark .border-green-950\/30 { background-color: rgba(5, 46, 22, 0.3); } /* Codex MCP Server Cards - Green Borders */ .mcp-server-card[data-cli-type="codex-green"] { border-left: 3px solid #22c55e; transition: all 0.3s ease; } .mcp-server-card[data-cli-type="codex-green"]:hover { border-left-width: 4px; box-shadow: 0 4px 16px rgba(34, 197, 94, 0.15); } /* Toggle switches - Green for Codex */ .mcp-toggle input:checked + div.peer-checked\:bg-green-500 { background: #22c55e; } /* Installation buttons - Enhanced Green */ .bg-green-500:hover { background-color: #16a34a; box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3); } /* Info panels - Green accent */ .bg-green-50.dark\:bg-green-950\/30 { border-left: 3px solid #22c55e; } /* Codex section headers - Green gradient */ .text-green-500 svg { filter: drop-shadow(0 2px 4px rgba(34, 197, 94, 0.3)); } .mcp-section h3.text-green-500 { background: linear-gradient(90deg, #22c55e 0%, #16a34a 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 700; } /* Animated pulse for Codex servers */ .border-green-500\/30 { animation: greenPulse 2s ease-in-out infinite; } @keyframes greenPulse { 0%, 100% { border-color: rgba(34, 197, 94, 0.3); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } 50% { border-color: rgba(34, 197, 94, 0.6); box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.1); } } /* Green button hover effects */ .bg-green-500.rounded-lg { position: relative; overflow: hidden; } .bg-green-500.rounded-lg::after { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.3); transform: translate(-50%, -50%); transition: width 0.3s, height 0.3s; } .bg-green-500.rounded-lg:active::after { width: 200px; height: 200px; } /* Green-themed success badges */ .bg-green-100 { font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } /* Loading states with green */ @keyframes greenGlow { 0%, 100% { box-shadow: 0 0 10px rgba(34, 197, 94, 0.3); } 50% { box-shadow: 0 0 20px rgba(34, 197, 94, 0.6); } } .loading-green { animation: greenGlow 1.5s ease-in-out infinite; }