Spaces:
Running
Running
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| @layer base { | |
| * { | |
| box-sizing: border-box; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| background-color: #050709; | |
| color: #e6edf3; | |
| font-family: 'IBM Plex Sans', system-ui, sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| ::-webkit-scrollbar { | |
| width: 6px; | |
| height: 6px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #0d1117; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #30363d; | |
| border-radius: 3px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: #484f58; | |
| } | |
| ::selection { | |
| background: rgba(0, 255, 135, 0.2); | |
| color: #e6edf3; | |
| } | |
| } | |
| @layer components { | |
| .glass { | |
| background: rgba(13, 17, 23, 0.8); | |
| backdrop-filter: blur(12px); | |
| border: 1px solid rgba(255, 255, 255, 0.06); | |
| } | |
| .glow-green { | |
| box-shadow: 0 0 20px rgba(0, 255, 135, 0.15); | |
| } | |
| .glow-cyan { | |
| box-shadow: 0 0 20px rgba(0, 212, 255, 0.15); | |
| } | |
| .code-block { | |
| font-family: 'IBM Plex Mono', monospace; | |
| font-size: 0.8rem; | |
| background: #0d1117; | |
| border: 1px solid #21262d; | |
| border-radius: 6px; | |
| padding: 1rem; | |
| overflow-x: auto; | |
| white-space: pre; | |
| line-height: 1.6; | |
| } | |
| .badge { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 4px; | |
| font-size: 0.7rem; | |
| font-weight: 500; | |
| padding: 2px 8px; | |
| border-radius: 999px; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| } | |
| .badge-green { | |
| background: rgba(0, 255, 135, 0.1); | |
| color: #00ff87; | |
| border: 1px solid rgba(0, 255, 135, 0.2); | |
| } | |
| .badge-cyan { | |
| background: rgba(0, 212, 255, 0.1); | |
| color: #00d4ff; | |
| border: 1px solid rgba(0, 212, 255, 0.2); | |
| } | |
| .badge-purple { | |
| background: rgba(168, 85, 247, 0.1); | |
| color: #a855f7; | |
| border: 1px solid rgba(168, 85, 247, 0.2); | |
| } | |
| .badge-orange { | |
| background: rgba(255, 107, 53, 0.1); | |
| color: #ff6b35; | |
| border: 1px solid rgba(255, 107, 53, 0.2); | |
| } | |
| .badge-gray { | |
| background: rgba(72, 79, 88, 0.3); | |
| color: #8b949e; | |
| border: 1px solid #30363d; | |
| } | |
| /* Used by ModelForm field labels */ | |
| .form-label { | |
| display: block; | |
| font-size: 0.75rem; | |
| font-weight: 500; | |
| color: #8b949e; | |
| margin-bottom: 6px; | |
| } | |
| .btn-primary { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| background: #00ff87; | |
| color: #050709; | |
| font-weight: 600; | |
| font-size: 0.875rem; | |
| padding: 8px 16px; | |
| border-radius: 6px; | |
| transition: all 0.15s ease; | |
| cursor: pointer; | |
| border: none; | |
| } | |
| .btn-primary:hover { | |
| background: #00e07a; | |
| transform: translateY(-1px); | |
| box-shadow: 0 4px 12px rgba(0, 255, 135, 0.3); | |
| } | |
| .btn-primary:active { | |
| transform: translateY(0); | |
| } | |
| .btn-primary:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| transform: none; | |
| box-shadow: none; | |
| } | |
| .btn-secondary { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| background: transparent; | |
| color: #8b949e; | |
| font-weight: 500; | |
| font-size: 0.875rem; | |
| padding: 7px 15px; | |
| border-radius: 6px; | |
| transition: all 0.15s ease; | |
| cursor: pointer; | |
| border: 1px solid #30363d; | |
| } | |
| .btn-secondary:hover { | |
| background: #21262d; | |
| color: #e6edf3; | |
| border-color: #484f58; | |
| } | |
| .btn-danger { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| background: transparent; | |
| color: #ff4757; | |
| font-weight: 500; | |
| font-size: 0.875rem; | |
| padding: 7px 15px; | |
| border-radius: 6px; | |
| transition: all 0.15s ease; | |
| cursor: pointer; | |
| border: 1px solid rgba(255, 71, 87, 0.3); | |
| } | |
| .btn-danger:hover { | |
| background: rgba(255, 71, 87, 0.1); | |
| } | |
| .input { | |
| width: 100%; | |
| background: #0d1117; | |
| border: 1px solid #30363d; | |
| border-radius: 6px; | |
| padding: 8px 12px; | |
| color: #e6edf3; | |
| font-size: 0.875rem; | |
| font-family: inherit; | |
| transition: border-color 0.15s ease; | |
| outline: none; | |
| } | |
| .input:focus { | |
| border-color: #00ff87; | |
| box-shadow: 0 0 0 2px rgba(0, 255, 135, 0.1); | |
| } | |
| .input::placeholder { | |
| color: #484f58; | |
| } | |
| .input-mono { | |
| font-family: 'IBM Plex Mono', monospace; | |
| font-size: 0.8rem; | |
| } | |
| .select { | |
| width: 100%; | |
| background: #0d1117; | |
| border: 1px solid #30363d; | |
| border-radius: 6px; | |
| padding: 8px 12px; | |
| color: #e6edf3; | |
| font-size: 0.875rem; | |
| font-family: inherit; | |
| outline: none; | |
| cursor: pointer; | |
| transition: border-color 0.15s ease; | |
| appearance: none; | |
| background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); | |
| background-repeat: no-repeat; | |
| background-position: right 12px center; | |
| padding-right: 36px; | |
| } | |
| .select:focus { | |
| border-color: #00ff87; | |
| box-shadow: 0 0 0 2px rgba(0, 255, 135, 0.1); | |
| } | |
| .card { | |
| background: #0d1117; | |
| border: 1px solid #21262d; | |
| border-radius: 8px; | |
| transition: border-color 0.15s ease; | |
| } | |
| .card:hover { | |
| border-color: #30363d; | |
| } | |
| .divider { | |
| border: none; | |
| border-top: 1px solid #21262d; | |
| } | |
| /* BUG FIX: Moved from ModelForm.jsx module-level style injection */ | |
| .form-label { | |
| display: block; | |
| font-size: 0.75rem; | |
| font-weight: 500; | |
| color: #8b949e; | |
| margin-bottom: 6px; | |
| } | |
| } | |
| @layer utilities { | |
| .text-gradient-green { | |
| background: linear-gradient(135deg, #00ff87, #00d4ff); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| } | |