Spaces:
Sleeping
Sleeping
| :root { | |
| --bg-primary: #f5f7fa; | |
| --bg-secondary: #ffffff; | |
| --bg-card: #ffffff; | |
| --text-primary: #2c3e50; | |
| --text-secondary: #7f8c8d; | |
| --text-muted: #95a5a6; | |
| --accent: #667eea; | |
| --accent-light: #764ba2; | |
| --border-color: #e1e8ed; | |
| --shadow-sm: 0 1px 3px rgba(0,0,0,0.06); | |
| --shadow: 0 2px 8px rgba(0,0,0,0.08); | |
| --shadow-lg: 0 4px 16px rgba(0,0,0,0.12); | |
| --transition: all 0.3s ease; | |
| } | |
| .mobile-header { | |
| background: var(--bg-secondary); | |
| padding: 1rem 1.25rem; | |
| box-shadow: var(--shadow); | |
| position: sticky; | |
| top: 0; | |
| z-index: 100; | |
| display: none; | |
| } | |
| .mobile-header-content { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| } | |
| .mobile-header-left { | |
| display: flex; | |
| align-items: center; | |
| gap: 1rem; | |
| } | |
| .hamburger-btn { | |
| background: none; | |
| border: none; | |
| font-size: 1.5rem; | |
| color: var(--text-primary); | |
| cursor: pointer; | |
| padding: 0.25rem; | |
| transition: var(--transition); | |
| } | |
| .hamburger-btn:active { | |
| transform: scale(0.95); | |
| } | |
| .mobile-logo { | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| background: linear-gradient(135deg, var(--accent), var(--accent-light)); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .mobile-avatar { | |
| width: 40px; | |
| height: 40px; | |
| border-radius: 50%; | |
| background: linear-gradient(135deg, var(--accent), var(--accent-light)); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: white; | |
| font-size: 1.1rem; | |
| box-shadow: var(--shadow); | |
| } | |
| .drawer-overlay { | |
| position: fixed; | |
| inset: 0; | |
| background: rgba(0,0,0,0.5); | |
| z-index: 998; | |
| display: none; | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| } | |
| .drawer-overlay.active { | |
| display: block; | |
| opacity: 1; | |
| } | |
| .sidebar-drawer { | |
| position: fixed; | |
| top: 0; | |
| left: -100%; | |
| width: 280px; | |
| height: 100vh; | |
| background: var(--bg-secondary); | |
| box-shadow: 2px 0 20px rgba(0,0,0,0.15); | |
| z-index: 999; | |
| transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| overflow-y: auto; | |
| display: none; | |
| } | |
| .sidebar-drawer.active { | |
| left: 0; | |
| } | |
| .drawer-header { | |
| padding: 1.5rem; | |
| border-bottom: 1px solid var(--border-color); | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| background: var(--bg-primary); | |
| } | |
| .drawer-header h3 { | |
| margin: 0; | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| } | |
| .drawer-close { | |
| background: none; | |
| border: none; | |
| font-size: 1.5rem; | |
| color: var(--text-secondary); | |
| cursor: pointer; | |
| padding: 0.25rem; | |
| transition: var(--transition); | |
| } | |
| .drawer-close:hover { | |
| color: var(--text-primary); | |
| } | |
| .drawer-close:active { | |
| transform: scale(0.95); | |
| } | |
| .drawer-menu { | |
| padding: 0.5rem 0; | |
| } | |
| .drawer-section-title { | |
| padding: 1rem 1.5rem 0.5rem; | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| color: var(--text-muted); | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| } | |
| .drawer-menu-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 1rem; | |
| padding: 0.875rem 1.5rem; | |
| color: var(--text-primary); | |
| text-decoration: none; | |
| transition: var(--transition); | |
| font-weight: 500; | |
| position: relative; | |
| } | |
| .drawer-menu-item::before { | |
| content: ''; | |
| position: absolute; | |
| left: 0; | |
| top: 0; | |
| bottom: 0; | |
| width: 3px; | |
| background: linear-gradient(135deg, var(--accent), var(--accent-light)); | |
| transform: scaleY(0); | |
| transition: transform 0.2s ease; | |
| } | |
| .drawer-menu-item:hover, | |
| .drawer-menu-item.active { | |
| background: var(--bg-primary); | |
| color: var(--accent); | |
| } | |
| .drawer-menu-item.active::before { | |
| transform: scaleY(1); | |
| } | |
| .drawer-menu-item i { | |
| width: 24px; | |
| text-align: center; | |
| font-size: 1.1rem; | |
| } | |
| .drawer-footer { | |
| padding: 1rem 0; | |
| border-top: 1px solid var(--border-color); | |
| margin-top: 1rem; | |
| } | |
| .stats-cards { | |
| display: grid; | |
| grid-template-columns: 1fr; | |
| gap: 1rem; | |
| margin-bottom: 1.5rem; | |
| } | |
| .stat-card { | |
| background: var(--bg-card); | |
| border-radius: 16px; | |
| padding: 1.5rem; | |
| box-shadow: var(--shadow); | |
| transition: var(--transition); | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .stat-card:active { | |
| transform: scale(0.98); | |
| } | |
| .stat-icon { | |
| width: 48px; | |
| height: 48px; | |
| border-radius: 12px; | |
| background: linear-gradient(135deg, var(--accent), var(--accent-light)); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: white; | |
| font-size: 1.5rem; | |
| margin-bottom: 1rem; | |
| box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); | |
| } | |
| .stat-number { | |
| font-size: 1.75rem; | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| margin-bottom: 0.25rem; | |
| word-break: break-all; | |
| line-height: 1.2; | |
| } | |
| .stat-label { | |
| font-size: 0.875rem; | |
| color: var(--text-secondary); | |
| font-weight: 500; | |
| } | |
| .search-container { | |
| position: relative; | |
| margin-bottom: 1.5rem; | |
| } | |
| .search-icon { | |
| position: absolute; | |
| left: 1rem; | |
| top: 50%; | |
| transform: translateY(-50%); | |
| color: var(--text-muted); | |
| font-size: 1rem; | |
| z-index: 1; | |
| } | |
| .search-input { | |
| width: 100%; | |
| padding: 0.875rem 1rem 0.875rem 3rem; | |
| border: 1px solid var(--border-color); | |
| border-radius: 12px; | |
| background: var(--bg-card); | |
| font-size: 1rem; | |
| color: var(--text-primary); | |
| transition: var(--transition); | |
| } | |
| .search-input:focus { | |
| outline: none; | |
| border-color: var(--accent); | |
| box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); | |
| } | |
| .search-input::placeholder { | |
| color: var(--text-muted); | |
| } | |
| .plugins-grid { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| } | |
| .plugin-card { | |
| background: var(--bg-card); | |
| border-radius: 16px; | |
| box-shadow: var(--shadow); | |
| overflow: hidden; | |
| transition: var(--transition); | |
| } | |
| .plugin-card:active { | |
| transform: scale(0.98); | |
| } | |
| .plugin-header { | |
| padding: 1.25rem; | |
| cursor: pointer; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| gap: 1rem; | |
| } | |
| .plugin-header:active { | |
| background: var(--bg-primary); | |
| } | |
| .plugin-left { | |
| flex: 1; | |
| min-width: 0; | |
| } | |
| .plugin-name { | |
| font-size: 1.1rem; | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| margin-bottom: 0.5rem; | |
| } | |
| .plugin-description { | |
| font-size: 0.875rem; | |
| color: var(--text-secondary); | |
| line-height: 1.4; | |
| } | |
| .plugin-type { | |
| background: linear-gradient(135deg, var(--accent), var(--accent-light)); | |
| color: white; | |
| padding: 0.5rem 0.875rem; | |
| border-radius: 20px; | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| white-space: nowrap; | |
| box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3); | |
| } | |
| .plugin-expand { | |
| font-size: 1.25rem; | |
| color: var(--text-muted); | |
| transition: transform 0.3s ease; | |
| } | |
| .plugin-expand.expanded { | |
| transform: rotate(180deg); | |
| } | |
| .plugin-content { | |
| max-height: 0; | |
| overflow: hidden; | |
| transition: max-height 0.3s ease; | |
| } | |
| .plugin-content.expanded { | |
| max-height: 2000px; | |
| } | |
| .plugin-details { | |
| padding: 1.25rem; | |
| border-top: 1px solid var(--border-color); | |
| background: var(--bg-primary); | |
| } | |
| .form-group { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.5rem; | |
| margin-bottom: 1rem; | |
| } | |
| .form-group label { | |
| font-size: 0.875rem; | |
| font-weight: 600; | |
| color: var(--text-primary); | |
| } | |
| .form-group input, | |
| .form-group select { | |
| padding: 0.875rem; | |
| border: 1px solid var(--border-color); | |
| border-radius: 12px; | |
| background: var(--bg-card); | |
| font-size: 1rem; | |
| color: var(--text-primary); | |
| transition: var(--transition); | |
| } | |
| .form-group input:focus, | |
| .form-group select:focus { | |
| outline: none; | |
| border-color: var(--accent); | |
| box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); | |
| } | |
| .form-group input::placeholder { | |
| color: var(--text-muted); | |
| } | |
| .btn { | |
| padding: 0.875rem 1.5rem; | |
| border: none; | |
| border-radius: 12px; | |
| font-weight: 600; | |
| font-size: 1rem; | |
| cursor: pointer; | |
| transition: var(--transition); | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 0.5rem; | |
| text-decoration: none; | |
| } | |
| .btn:active { | |
| transform: scale(0.98); | |
| } | |
| .btn-primary { | |
| background: linear-gradient(135deg, var(--accent), var(--accent-light)); | |
| color: white; | |
| box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); | |
| } | |
| .btn-primary:hover { | |
| box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4); | |
| } | |
| .btn-secondary { | |
| background: var(--bg-card); | |
| color: var(--text-primary); | |
| border: 1px solid var(--border-color); | |
| } | |
| .loading { | |
| text-align: center; | |
| padding: 2rem; | |
| color: var(--text-muted); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 0.75rem; | |
| } | |
| .loading i { | |
| font-size: 1.25rem; | |
| } | |
| .section h2 { | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| margin-bottom: 1.5rem; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| } | |
| .section h2 i { | |
| font-size: 1.75rem; | |
| background: linear-gradient(135deg, var(--accent), var(--accent-light)); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| .redeem-section, | |
| .setting-card, | |
| .admin-card { | |
| background: var(--bg-card); | |
| border-radius: 16px; | |
| padding: 1.5rem; | |
| box-shadow: var(--shadow); | |
| margin-bottom: 1.5rem; | |
| } | |
| .redeem-section h3, | |
| .setting-card h3, | |
| .admin-card h3 { | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| margin-bottom: 1rem; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| @media (max-width: 768px) { | |
| .navbar, | |
| .sidebar { | |
| display: none ; | |
| } | |
| .mobile-header, | |
| .sidebar-drawer { | |
| display: block; | |
| } | |
| .dashboard-container { | |
| display: block; | |
| min-height: calc(100vh - 73px); | |
| } | |
| .main-content { | |
| max-width: 100vw; | |
| padding: 1.25rem; | |
| } | |
| .stats-cards { | |
| grid-template-columns: 1fr; | |
| } | |
| .section h2 { | |
| font-size: 1.375rem; | |
| } | |
| .stat-number { | |
| font-size: 1.5rem; | |
| } | |
| } | |
| @media (min-width: 769px) { | |
| .mobile-header, | |
| .sidebar-drawer, | |
| .drawer-overlay { | |
| display: none ; | |
| } | |
| .stats-cards { | |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); | |
| gap: 1.25rem; | |
| } | |
| } | |
| ::-webkit-scrollbar { | |
| width: 6px; | |
| height: 6px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: var(--bg-primary); | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--border-color); | |
| border-radius: 3px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--text-muted); | |
| } |