Spaces:
Sleeping
Sleeping
| :root { | |
| --primary-color: #6366f1; | |
| /* Indigo 500 */ | |
| --primary-hover: #4f46e5; | |
| /* Indigo 600 */ | |
| --background-dark: #0f172a; | |
| /* Slate 900 */ | |
| --surface-dark: #1e293b; | |
| /* Slate 800 */ | |
| --text-primary: #f8fafc; | |
| /* Slate 50 */ | |
| --text-secondary: #94a3b8; | |
| /* Slate 400 */ | |
| --accent-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%); | |
| --glass-bg: rgba(30, 41, 59, 0.7); | |
| --glass-border: rgba(255, 255, 255, 0.1); | |
| --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3); | |
| } | |
| body { | |
| margin: 0; | |
| font-family: 'Inter', system-ui, -apple-system, sans-serif; | |
| background-color: var(--background-dark); | |
| color: var(--text-primary); | |
| -webkit-font-smoothing: antialiased; | |
| min-height: 100vh; | |
| display: flex; | |
| justify-content: center; | |
| } | |
| #root { | |
| width: 100%; | |
| max-width: 1280px; | |
| /* Increased from 480px */ | |
| padding: 1rem; | |
| box-sizing: border-box; | |
| } | |
| /* Typography */ | |
| h1 { | |
| font-size: 2rem; | |
| font-weight: 800; | |
| text-align: center; | |
| margin-bottom: 2rem; | |
| background: var(--accent-gradient); | |
| background-clip: text; | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| letter-spacing: -0.025em; | |
| } | |
| /* Card Container */ | |
| .card { | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| border: 1px solid var(--glass-border); | |
| border-radius: 1.5rem; | |
| padding: 1.5rem; | |
| box-shadow: var(--shadow-lg); | |
| margin-bottom: 1.5rem; | |
| } | |
| /* Input Group */ | |
| .input-group { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| } | |
| input[type="text"] { | |
| width: 100%; | |
| padding: 1rem; | |
| border-radius: 1rem; | |
| border: 1px solid var(--glass-border); | |
| background: rgba(15, 23, 42, 0.6); | |
| color: white; | |
| font-size: 1rem; | |
| transition: all 0.3s ease; | |
| box-sizing: border-box; | |
| } | |
| input[type="text"]:focus { | |
| outline: none; | |
| border-color: var(--primary-color); | |
| box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.3); | |
| } | |
| /* Modern File Input */ | |
| .file-input-wrapper { | |
| position: relative; | |
| width: 100%; | |
| height: 3rem; | |
| border: 1px dashed var(--glass-border); | |
| border-radius: 1rem; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| background: rgba(15, 23, 42, 0.3); | |
| transition: all 0.3s ease; | |
| cursor: pointer; | |
| overflow: hidden; | |
| } | |
| .file-input-wrapper:hover { | |
| border-color: var(--primary-color); | |
| background: rgba(15, 23, 42, 0.5); | |
| } | |
| .file-input { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| opacity: 0; | |
| cursor: pointer; | |
| } | |
| .file-input-label { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| color: var(--text-secondary); | |
| font-size: 0.9rem; | |
| pointer-events: none; | |
| } | |
| .file-input-label span { | |
| color: var(--primary-color); | |
| font-weight: 600; | |
| } | |
| /* Button */ | |
| button { | |
| width: 100%; | |
| padding: 1rem; | |
| border-radius: 1rem; | |
| border: none; | |
| background: var(--accent-gradient); | |
| color: white; | |
| font-size: 1rem; | |
| font-weight: 600; | |
| cursor: pointer; | |
| transition: transform 0.2s, box-shadow 0.2s; | |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3); | |
| } | |
| button:active { | |
| transform: scale(0.98); | |
| } | |
| button:disabled { | |
| opacity: 0.7; | |
| cursor: not-allowed; | |
| filter: grayscale(0.5); | |
| } | |
| /* Table Styles */ | |
| .table-container { | |
| overflow-x: auto; | |
| border-radius: 1rem; | |
| } | |
| table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| font-size: 0.9rem; | |
| } | |
| th, | |
| td { | |
| padding: 0.75rem 1rem; | |
| text-align: left; | |
| border-bottom: 1px solid var(--glass-border); | |
| } | |
| th { | |
| background: rgba(255, 255, 255, 0.05); | |
| color: var(--text-secondary); | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| font-size: 0.75rem; | |
| letter-spacing: 0.05em; | |
| } | |
| tr:last-child td { | |
| border-bottom: none; | |
| } | |
| /* Loading Animation */ | |
| .loading-spinner { | |
| width: 24px; | |
| height: 24px; | |
| border: 3px solid rgba(255, 255, 255, 0.3); | |
| border-radius: 50%; | |
| border-top-color: white; | |
| animation: spin 1s ease-in-out infinite; | |
| margin: 0 auto; | |
| } | |
| @keyframes spin { | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| /* Error Message */ | |
| .error-message { | |
| background: rgba(239, 68, 68, 0.1); | |
| border: 1px solid rgba(239, 68, 68, 0.2); | |
| color: #fca5a5; | |
| padding: 1rem; | |
| border-radius: 1rem; | |
| text-align: center; | |
| margin-top: 1rem; | |
| font-size: 0.9rem; | |
| } | |
| /* Success Message */ | |
| .success-message { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 0.5rem; | |
| background: rgba(34, 197, 94, 0.1); | |
| border: 1px solid rgba(34, 197, 94, 0.2); | |
| color: #4ade80; | |
| padding: 1rem; | |
| border-radius: 1rem; | |
| text-align: center; | |
| margin-bottom: 1.5rem; | |
| font-weight: 500; | |
| } |