/* Buttons */ .btn { appearance: none; border: none; font-family: inherit; font-size: 0.875rem; font-weight: 600; padding: 10px 16px; border-radius: var(--border-radius); cursor: pointer; transition: var(--transition-fast); display: inline-flex; align-items: center; justify-content: center; gap: var(--space-sm); text-transform: uppercase; letter-spacing: 0.02em; } .btn-primary { background-color: var(--color-accent); color: var(--color-accent-text); } .btn-primary:hover:not(:disabled) { background-color: var(--color-accent-hover); } .btn-danger { background-color: transparent; border: var(--border-width) solid var(--color-danger); color: var(--color-danger); } .btn-danger:hover:not(:disabled) { background-color: var(--color-danger); color: white; } .btn-ghost { background-color: transparent; color: var(--color-text-secondary); border: var(--border-width) solid var(--color-bg-3); } .btn-ghost:hover:not(:disabled) { background-color: var(--color-bg-3); color: var(--color-text-primary); } .btn:disabled { opacity: 0.4; cursor: not-allowed; filter: grayscale(1); } /* Forms */ .form-group { display: flex; flex-direction: column; gap: var(--space-xs); margin-bottom: var(--space-md); } .form-label { font-size: 0.75rem; font-weight: 700; color: var(--color-text-muted); text-transform: uppercase; } .input-field { background-color: var(--color-bg-2); border: var(--border-width) solid var(--color-bg-3); border-radius: var(--border-radius); padding: 10px 12px; color: var(--color-text-primary); font-size: 0.9375rem; width: 100%; transition: border-color var(--transition-fast); } .input-field:focus { outline: none; border-color: var(--color-accent); } /* Tabs */ .tab-nav { display: flex; border-bottom: var(--border-width) solid var(--color-bg-3); padding: 0 var(--space-lg); background-color: var(--color-bg-1); } .tab-trigger { background: none; border: none; padding: 14px 20px; color: var(--color-text-secondary); font-size: 0.875rem; font-weight: 600; cursor: pointer; border-bottom: 2px solid transparent; transition: var(--transition-fast); } .tab-trigger:hover { color: var(--color-text-primary); } .tab-trigger.active { color: var(--color-accent); border-bottom-color: var(--color-accent); } .tab-panel { display: none; padding: var(--space-lg); } .tab-panel.active { display: block; } /* Cards */ .card { background-color: var(--color-bg-1); border: var(--border-width) solid var(--color-bg-3); border-radius: var(--border-radius); overflow: hidden; } .card-header { padding: var(--space-md); border-bottom: var(--border-width) solid var(--color-bg-3); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; color: var(--color-text-muted); } .card-body { padding: var(--space-md); } /* Badges */ .badge { font-size: 0.7rem; font-weight: 800; padding: 2px 8px; border-radius: 2px; text-transform: uppercase; } .badge-idle { background: var(--color-bg-3); color: var(--color-text-secondary); } .badge-running { background: var(--color-accent); color: white; animation: blink 1.5s infinite; } .badge-complete { background: var(--color-success); color: white; } @keyframes blink { 0% { opacity: 1; } 50% { opacity: 0.6; } 100% { opacity: 1; } }