| :root { |
| --color-bg: #062648c0; |
| --color-bg-glass: rgba(7, 43, 58, 0.904); |
| --color-card: #1e293b; |
| --color-card-glass: rgba(255, 255, 255, 0.1); |
| --color-text: #ffffff; |
| --color-text-secondary: rgba(255, 255, 255, 0.7); |
| --color-accent: #0c5c8b; |
| --color-accent2: #541d8a; |
| --color-border: rgba(255, 255, 255, 0.1); |
| --color-border-light: rgba(255, 255, 255, 0.2); |
| --color-shadow: rgba(0, 0, 0, 0.3); |
| --color-danger: #ef4444; |
| --color-success: #10b981; |
| --color-warning: #f59e0b; |
| --radius-xl: 20px; |
| --border-light: rgba(255, 255, 255, 0.2); |
| --color-card: #0c4365aa; |
| --color-card-glass: rgba(13, 50, 69, 0.5); |
| --color-text: #f6f8fb; |
| --color-shadow: rgba(139, 92, 246, 0.12); |
| --color-border: rgba(16, 32, 77, 0.15); |
| --color-glass-blur: 18px; |
| --color-glass-border: rgba(139, 92, 246, 0.08); |
| --color-neu-light: #23263a; |
| --color-neu-dark: #1f2646; |
| --color-scrollbar: #3b3e5a; |
|
|
| } |
|
|
| .admin-container { |
| display: flex; |
| min-height: 100vh; |
| width: 100vw; |
| background: linear-gradient(135deg, #1a060e 0%, #030a17ea 25%, #160a06 50%, #04161a 75%, #041620 100%); |
| color: #ffffff; |
| position: fixed; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| overflow: hidden; |
| z-index: 1; |
| transition: opacity 0.3s ease; |
| } |
|
|
| .admin-container:not(.loaded) { |
| opacity: 0; |
| } |
|
|
| .admin-container.loaded { |
| opacity: 1; |
| } |
|
|
|
|
| .dashboard-full-loading { |
| position: fixed; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| width: 100vw; |
| height: 100vh; |
| background: linear-gradient(135deg, #101029 0%, #182234ea 25%, #052a45 50%, #062f46 75%, #0b2d41 100%); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| z-index: 99999; |
| backdrop-filter: blur(10px); |
| overflow: hidden; |
| margin: 0; |
| padding: 0; |
| } |
|
|
| .dashboard-loading-particles { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| pointer-events: none; |
| } |
|
|
| .dashboard-loading-particle { |
| position: absolute; |
| width: 4px; |
| height: 4px; |
| background: linear-gradient(45deg, #667eea, #764ba2); |
| border-radius: 50%; |
| box-shadow: 0 0 12px rgba(102, 126, 234, 0.5); |
| } |
|
|
| .dashboard-loading-content { |
| text-align: center; |
| color: #ffffff; |
| max-width: 450px; |
| padding: 50px; |
| z-index: 2; |
| } |
|
|
| .dashboard-loading-spinner { |
| position: relative; |
| width: 80px; |
| height: 80px; |
| margin: 0 auto 40px; |
| } |
|
|
| .dashboard-loading-spinner .spinner-ring { |
| position: absolute; |
| width: 100%; |
| height: 100%; |
| border: 4px solid transparent; |
| border-top: 4px solid #667eea; |
| border-radius: 50%; |
| animation: spinnerRotate 1.2s linear infinite; |
| } |
|
|
| .dashboard-loading-spinner .spinner-ring:nth-child(1) { |
| animation-delay: 0s; |
| } |
|
|
| .dashboard-loading-spinner .spinner-ring:nth-child(2) { |
| width: 80%; |
| height: 80%; |
| top: 10%; |
| left: 10%; |
| animation-delay: 0.2s; |
| border-top-color: rgba(102, 126, 234, 0.7); |
| } |
|
|
| .dashboard-loading-spinner .spinner-ring:nth-child(3) { |
| width: 60%; |
| height: 60%; |
| top: 20%; |
| left: 20%; |
| animation-delay: 0.4s; |
| border-top-color: rgba(102, 126, 234, 0.5); |
| } |
|
|
| .dashboard-loading-title { |
| font-size: 2.5rem; |
| font-weight: 800; |
| margin-bottom: 15px; |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| animation: fadeInUp 0.8s ease-out 0.2s both; |
| } |
|
|
| .dashboard-loading-subtitle { |
| font-size: 1.2rem; |
| color: rgba(255, 255, 255, 0.8); |
| margin-bottom: 40px; |
| font-weight: 500; |
| animation: fadeInUp 0.8s ease-out 0.4s both; |
| } |
|
|
| .dashboard-loading-progress { |
| width: 100%; |
| max-width: 350px; |
| margin: 0 auto; |
| animation: fadeInUp 0.8s ease-out 0.6s both; |
| } |
|
|
| .dashboard-progress-bar { |
| width: 100%; |
| height: 8px; |
| background: rgba(255, 255, 255, 0.1); |
| border-radius: 4px; |
| overflow: hidden; |
| backdrop-filter: blur(10px); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| } |
|
|
| .dashboard-progress-fill { |
| height: 100%; |
| background: linear-gradient(90deg, #667eea, #764ba2); |
| border-radius: 4px; |
| box-shadow: 0 0 25px rgba(102, 126, 234, 0.6); |
| } |
|
|
| .admin-sidebar { |
| width: 300px; |
| background: rgba(156, 70, 70, 0.1); |
| backdrop-filter: blur(30px); |
| border-right: 1px solid rgba(255, 255, 255, 0.2); |
| padding: 32px 24px; |
| display: flex; |
| flex-direction: column; |
| position: fixed; |
| top: 0; |
| left: 0; |
| height: 100vh; |
| z-index: 1000; |
| box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4); |
| border-radius: 0 24px 24px 0; |
| overflow-y: hidden; |
| overflow-x: hidden; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| } |
|
|
| .admin-sidebar-glass { |
| background: rgba(255, 255, 255, 0.12); |
| backdrop-filter: blur(30px); |
| border: 1px solid rgba(255, 255, 255, 0.18); |
| } |
|
|
| .admin-sidebar-glass.sidebar-closed { |
| transform: translateX(-100%); |
| } |
|
|
| .admin-sidebar::-webkit-scrollbar { |
| width: 8px; |
| } |
|
|
| .admin-sidebar::-webkit-scrollbar-track { |
| background: rgba(255, 255, 255, 0.08); |
| border-radius: 4px; |
| } |
|
|
| .admin-sidebar::-webkit-scrollbar-thumb { |
| background: linear-gradient(180deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1)); |
| border-radius: 4px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .admin-sidebar::-webkit-scrollbar-thumb:hover { |
| background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2)); |
| } |
|
|
| .sidebar-header { |
| display: flex; |
| align-items: center; |
| gap: 18px; |
| padding-bottom: 28px; |
| border-bottom: 1px solid rgba(255, 255, 255, 0.15); |
| margin-bottom: 28px; |
| } |
|
|
| .admin-avatar { |
| width: 56px; |
| height: 56px; |
| border-radius: 50%; |
| background: linear-gradient(135deg, #3b82f6, #1e40af, #3730a3); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| color: #fff; |
| font-weight: 600; |
| overflow: hidden; |
| box-shadow: 0 8px 24px rgba(59, 130, 246, 0.3); |
| border: 2px solid rgba(255, 255, 255, 0.2); |
| transition: all 0.3s ease; |
| } |
|
|
| .admin-avatar:hover { |
| transform: scale(1.05); |
| box-shadow: 0 12px 32px rgba(59, 130, 246, 0.4); |
| } |
|
|
| .admin-avatar img { |
| width: 100%; |
| height: 100%; |
| object-fit: cover; |
| } |
|
|
| .admin-info h3 { |
| font-size: 1.2rem; |
| font-weight: 700; |
| margin: 0; |
| color: #fff; |
| letter-spacing: -0.02em; |
| } |
|
|
| .admin-role { |
| font-size: 0.9rem; |
| color: rgba(255, 255, 255, 0.8); |
| text-transform: capitalize; |
| font-weight: 500; |
| margin-top: 2px; |
| } |
|
|
| .sidebar-nav { |
| flex: 1; |
| display: flex; |
| flex-direction: column; |
| gap: 12px; |
| padding-bottom: 120px; |
| } |
|
|
| .nav-item { |
| display: flex; |
| align-items: center; |
| gap: 16px; |
| padding: 16px 20px; |
| border-radius: 16px; |
| background: none; |
| border: none; |
| color: rgba(255, 255, 255, 0.8); |
| font-size: 1rem; |
| font-weight: 500; |
| cursor: pointer; |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
| position: relative; |
| overflow: hidden; |
| border: 1px solid transparent; |
| } |
|
|
| .nav-item::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.1), rgba(118, 75, 162, 0.1)); |
| opacity: 0; |
| transition: opacity 0.3s ease; |
| border-radius: 16px; |
| } |
|
|
| .nav-item:hover::before { |
| opacity: 1; |
| } |
|
|
| .nav-item:hover { |
| color: #fff; |
| transform: translateX(4px); |
| border-color: rgba(255, 255, 255, 0.1); |
| } |
|
|
| .nav-item.active { |
| background: linear-gradient(135deg, #3b82f6, #1e40af); |
| color: #fff; |
| box-shadow: 0 8px 24px rgba(59, 130, 246, 0.3); |
| transform: translateX(6px); |
| border-color: rgba(255, 255, 255, 0.2); |
| } |
|
|
| .nav-item.active::before { |
| opacity: 0; |
| } |
|
|
| .logout-btn { |
| position: sticky; |
| bottom: 16px; |
| margin-top: auto; |
| background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(220, 38, 38, 0.15)); |
| border: 1px solid rgba(239, 68, 68, 0.3); |
| color: #ef4444; |
| padding: 18px 24px; |
| border-radius: 18px; |
| font-size: 1rem; |
| font-weight: 600; |
| cursor: pointer; |
| z-index: 1001; |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
| display: flex; |
| align-items: center; |
| gap: 14px; |
| backdrop-filter: blur(15px); |
| box-shadow: 0 6px 20px rgba(239, 68, 68, 0.2); |
| } |
|
|
| .logout-btn:hover { |
| background: linear-gradient(135deg, rgba(239, 68, 68, 0.25), rgba(220, 38, 38, 0.25)); |
| border-color: rgba(239, 68, 68, 0.5); |
| transform: translateY(-2px); |
| box-shadow: 0 10px 30px rgba(239, 68, 68, 0.3); |
| } |
|
|
| .logout-btn:active { |
| transform: translateY(-1px); |
| box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2); |
| } |
|
|
| .admin-main { |
| flex: 1; |
| margin-left: 300px; |
| padding: 0; |
| position: relative; |
| z-index: 1; |
| height: 100vh; |
| overflow-y: auto; |
| overflow-x: hidden; |
| } |
|
|
| .admin-main-content { |
| flex: 1; |
| margin-left: 300px; |
| padding: 0; |
| position: relative; |
| z-index: 1; |
| transition: margin-left 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| height: 100vh; |
| overflow-y: auto; |
| overflow-x: hidden; |
| } |
|
|
| .admin-main-content.sidebar-closed { |
| margin-left: 0; |
| } |
|
|
| .admin-header { |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(30px); |
| border-bottom: 1px solid rgba(255, 255, 255, 0.15); |
| padding: 28px 36px; |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| position: sticky; |
| top: 0; |
| z-index: 100; |
| box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); |
| } |
|
|
| .adminheadtext { |
| font-size: 2.8rem; |
| font-weight: 700; |
| margin: 0; |
| color: #ffffff; |
| background: linear-gradient(135deg, #9e3333, #2e85be); |
|
|
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| } |
|
|
| .header-left p { |
| font-size: 1.1rem; |
| color: rgba(255, 255, 255, 0.8); |
| margin: 8px 0 0 0; |
| font-weight: 500; |
| } |
|
|
| .header-live-indicator { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| margin-top: 12px; |
| font-size: 0.9rem; |
| color: rgba(255, 255, 255, 0.7); |
| } |
|
|
| .live-dot { |
| width: 8px; |
| height: 8px; |
| background: #10b981; |
| border-radius: 50%; |
| animation: pulse 2s infinite; |
| } |
|
|
| @keyframes pulse { |
| 0%, 100% { opacity: 1; transform: scale(1); } |
| 50% { opacity: 0.7; transform: scale(1.2); } |
| } |
|
|
| .header-right { |
| display: flex; |
| align-items: center; |
| gap: 20px; |
| } |
|
|
| .search-bar { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| border: 1px solid var(--border-light); |
| border-radius: var(--radius-xl); |
| background: rgba(145, 111, 111, 0.12); |
| border-radius: 20px; |
| padding: 12px 20px; |
| backdrop-filter: blur(20px); |
| transition: all 0.3s ease; |
| min-width: 300px; |
| } |
|
|
| .search-bar:focus-within { |
| background: rgba(255, 255, 255, 0.15); |
| border-color: rgba(123, 133, 181, 0.5); |
| box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1); |
|
|
| transform: translateY(-1px); |
| } |
|
|
| .search-bar input { |
| background: none; |
| border: none; |
| color: #fff; |
| font-size: 1rem; |
| outline: none; |
| width: 100%; |
| font-weight: 500; |
| } |
|
|
| .search-bar input::placeholder { |
| color: rgba(255, 255, 255, 0.6); |
| font-weight: 400; |
| } |
|
|
| .refresh-btn { |
| display: flex; |
| align-items: center; |
| gap: 10px; |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.2), rgba(118, 75, 162, 0.2)); |
| border: 1px solid rgba(102, 126, 234, 0.3); |
|
|
| color: #fff; |
| padding: 12px 20px; |
| border-radius: 16px; |
| font-size: 0.95rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
| backdrop-filter: blur(15px); |
| box-shadow: 0 4px 16px rgba(59, 130, 246, 0.2); |
| } |
|
|
| .header-refresh-btn { |
| display: flex; |
| align-items: center; |
| gap: 10px; |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.2), rgba(118, 75, 162, 0.2)); |
| border: 1px solid rgba(102, 126, 234, 0.3); |
| color: #fff; |
| padding: 14px 24px; |
| border-radius: 18px; |
| font-size: 1rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
| backdrop-filter: blur(15px); |
| box-shadow: 0 6px 20px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .header-refresh-btn:hover { |
| background: linear-gradient(135deg, rgba(59, 130, 246, 0.3), rgba(30, 64, 175, 0.3)); |
| border-color: rgba(59, 130, 246, 0.5); |
| transform: translateY(-2px); |
| box-shadow: 0 8px 24px rgba(59, 130, 246, 0.3); |
| } |
|
|
| .header-refresh-btn:disabled { |
| opacity: 0.6; |
| cursor: not-allowed; |
| transform: none; |
| } |
|
|
| .dashboard-content { |
| padding: 32px 36px; |
| max-width: 1400px; |
| margin: 0 auto; |
| min-height: calc(100vh - 120px); |
| overflow-y: auto; |
| } |
|
|
| .dashboard-row { |
| margin-bottom: 48px; |
| padding: 32px; |
| background: rgba(255, 255, 255, 0.03); |
| backdrop-filter: blur(20px); |
| border: 1px solid rgba(255, 255, 255, 0.08); |
| border-radius: 24px; |
| transition: all 0.3s ease; |
| animation: fadeInUp 0.6s ease-out; |
| } |
|
|
| .dashboard-row:nth-child(1) { |
| animation-delay: 0.1s; |
| } |
|
|
| .dashboard-row:nth-child(2) { |
| animation-delay: 0.2s; |
| } |
|
|
| .dashboard-row:nth-child(3) { |
| animation-delay: 0.3s; |
| } |
|
|
| .dashboard-row:hover { |
| background: rgba(255, 255, 255, 0.05); |
| border-color: rgba(255, 255, 255, 0.12); |
| transform: translateY(-2px); |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); |
| } |
|
|
| .dashboard-row:last-child { |
| margin-bottom: 0; |
| } |
|
|
| .row-title { |
| margin-bottom: 28px; |
| text-align: center; |
| } |
|
|
| .row-title h3 { |
| font-size: 1.8rem; |
| font-weight: 700; |
| color: #fff; |
| margin: 0 0 8px 0; |
|
|
| letter-spacing: -0.02em; |
| } |
|
|
| .row-title p { |
| font-size: 1rem; |
| color: rgba(255, 255, 255, 0.7); |
| margin: 0; |
| font-weight: 400; |
| letter-spacing: 0.02em; |
| } |
|
|
| .dashboard-header-container { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 40px; |
| padding: 24px 32px; |
| background: rgba(255, 255, 255, 0.05); |
| backdrop-filter: blur(20px); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 20px; |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); |
| } |
|
|
| .dashboard-title { |
| font-size: 2.2rem; |
| font-weight: 800; |
| margin: 0; |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| letter-spacing: -0.02em; |
| } |
|
|
| .dashboard-actions { |
| display: flex; |
| align-items: center; |
| gap: 20px; |
| } |
|
|
| .last-update-badge { |
| background: rgba(255, 255, 255, 0.12); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| padding: 12px 20px; |
| border-radius: 16px; |
| font-size: 0.9rem; |
| color: rgba(255, 255, 255, 0.9); |
| backdrop-filter: blur(15px); |
| font-weight: 500; |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| } |
|
|
| .last-update-badge::before { |
| content: '🔄'; |
| font-size: 1rem; |
| } |
|
|
| .refresh-button { |
| display: flex; |
| align-items: center; |
| gap: 10px; |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.25), rgba(118, 75, 162, 0.25)); |
| border: 1px solid rgba(102, 126, 234, 0.35); |
| color: #fff; |
| padding: 14px 24px; |
| border-radius: 18px; |
| font-size: 0.95rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| backdrop-filter: blur(15px); |
| } |
|
|
| .refresh-button:hover { |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.35), rgba(118, 75, 162, 0.35)); |
| transform: translateY(-2px); |
| box-shadow: 0 8px 24px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .refresh-button:disabled { |
| opacity: 0.6; |
| cursor: not-allowed; |
| transform: none; |
| } |
|
|
| .stats-grid-container { |
| display: grid; |
| grid-template-columns: repeat(4, 1fr); |
| gap: 20px; |
| margin-bottom: 0; |
| padding: 0; |
| } |
|
|
| .adv-card { |
| background: rgba(255, 255, 255, 0.12); |
| backdrop-filter: blur(25px); |
| border: 1px solid rgba(255, 255, 255, 0.18); |
| border-radius: 16px; |
| padding: 24px; |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
| position: relative; |
| overflow: hidden; |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); |
| animation: slideInLeft 0.5s ease-out; |
| } |
|
|
| .adv-card:nth-child(1) { animation-delay: 0.1s; } |
| .adv-card:nth-child(2) { animation-delay: 0.2s; } |
| .adv-card:nth-child(3) { animation-delay: 0.3s; } |
| .adv-card:nth-child(4) { animation-delay: 0.4s; } |
|
|
| .adv-card:hover { |
| transform: translateY(-4px); |
| box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2); |
| border-color: rgba(255, 255, 255, 0.25); |
| background: rgba(255, 255, 255, 0.15); |
| } |
|
|
| .stat-card-content { |
| display: flex; |
| align-items: center; |
| gap: 16px; |
| position: relative; |
| padding: 10px; |
| } |
|
|
| .stat-icon-container { |
| width: 56px; |
| height: 56px; |
| border-radius: 14px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| background: linear-gradient(135deg, var(--icon-color, #667eea), var(--icon-color-secondary, #764ba2)); |
| box-shadow: 0 6px 20px rgba(102, 126, 234, 0.3); |
| transition: all 0.3s ease; |
| flex-shrink: 0; |
| } |
|
|
| .stat-card-content:hover .stat-icon-container { |
| transform: scale(1.05) rotate(3deg); |
| } |
|
|
| .stat-info { |
| flex: 1; |
| min-width: 0; |
| } |
|
|
| .stat-title-text { |
| font-size: 0.85rem; |
| color: rgba(255, 255, 255, 0.8); |
| margin: 0 0 6px 0; |
| font-weight: 600; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| line-height: 1.2; |
| } |
|
|
| .stat-value-text { |
| font-size: 1.8rem; |
| font-weight: 800; |
| color: #fff; |
| margin: 0; |
| letter-spacing: -0.02em; |
| line-height: 1.1; |
| } |
|
|
| .stat-change { |
| display: flex; |
| align-items: center; |
| gap: 4px; |
| background: rgba(16, 185, 129, 0.2); |
| color: #10b981; |
| padding: 4px 8px; |
| border-radius: 10px; |
| font-size: 0.75rem; |
| font-weight: 600; |
| margin-top: 10px; |
| margin-bottom: 10px; |
| border: 1px solid rgba(16, 185, 129, 0.3); |
| position: absolute; |
| top: 65px; |
| right: 10px; |
| } |
|
|
| .stat-change.down { |
| background: rgba(239, 68, 68, 0.2); |
| color: #ef4444; |
| border-color: rgba(239, 68, 68, 0.3); |
| } |
|
|
| .quick-stats { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); |
| gap: 24px; |
| margin-bottom: 0; |
| padding: 0; |
| } |
|
|
| .quick-stat { |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(20px); |
| border: 1px solid rgba(255, 255, 255, 0.15); |
| border-radius: 18px; |
| padding: 24px; |
| display: flex; |
| align-items: center; |
| gap: 18px; |
| transition: all 0.3s ease; |
| box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1); |
| animation: slideInRight 0.5s ease-out; |
| } |
|
|
| .quick-stat:nth-child(1) { animation-delay: 0.1s; } |
| .quick-stat:nth-child(2) { animation-delay: 0.2s; } |
| .quick-stat:nth-child(3) { animation-delay: 0.3s; } |
| .quick-stat:nth-child(4) { animation-delay: 0.4s; } |
|
|
| .quick-stat:hover { |
| background: rgba(255, 255, 255, 0.15); |
| transform: translateY(-4px); |
| border-color: rgba(255, 255, 255, 0.25); |
| box-shadow: 0 12px 36px rgba(0, 0, 0, 0.15); |
| } |
|
|
| .quick-stat-icon { |
| width: 56px; |
| height: 56px; |
| border-radius: 16px; |
| background: linear-gradient(135deg, #3b82f6, #1e40af); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| color: #fff; |
| box-shadow: 0 8px 24px rgba(59, 130, 246, 0.3); |
| transition: all 0.3s ease; |
| } |
|
|
| .quick-stat:hover .quick-stat-icon { |
| transform: scale(1.1) rotate(5deg); |
| box-shadow: 0 12px 32px rgba(59, 130, 246, 0.4); |
| } |
|
|
| .quick-stat-content h4 { |
| font-size: 0.95rem; |
| color: rgba(255, 255, 255, 0.8); |
| margin: 0 0 6px 0; |
| font-weight: 600; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| } |
|
|
| .quick-stat-content p { |
| font-size: 1.6rem; |
| font-weight: 800; |
| color: #fff; |
| margin: 0; |
| letter-spacing: -0.02em; |
| } |
|
|
| .dashboard-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 32px; |
| margin-top: 0; |
| } |
|
|
| .recent-orders, |
| .top-products { |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(25px); |
| border: 1px solid rgba(255, 255, 255, 0.15); |
| border-radius: 20px; |
| padding: 28px; |
| transition: all 0.3s ease; |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); |
| } |
|
|
| .recent-orders:hover, |
| .top-products:hover { |
| background: rgba(255, 255, 255, 0.15); |
| border-color: rgba(255, 255, 255, 0.25); |
| transform: translateY(-4px); |
| box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15); |
| } |
|
|
| .section-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 24px; |
| padding-bottom: 16px; |
| border-bottom: 1px solid rgba(255, 255, 255, 0.1); |
| position: relative; |
| } |
|
|
| .section-header::after { |
| content: ''; |
| position: absolute; |
| bottom: 0; |
| left: 0; |
| width: 0; |
| height: 2px; |
| background: linear-gradient(90deg, #667eea, #764ba2); |
| transition: width 0.3s ease; |
| } |
|
|
| .section-header:hover::after { |
| width: 100%; |
| } |
|
|
| .section-header h3 { |
| font-size: 1.4rem; |
| font-weight: 700; |
| color: #fff; |
| margin: 0; |
| letter-spacing: -0.01em; |
| } |
|
|
| .view-all-btn { |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.2), rgba(118, 75, 162, 0.2)); |
| border: 1px solid rgba(102, 126, 234, 0.3); |
| color: #fff; |
| padding: 10px 18px; |
| border-radius: 14px; |
| font-size: 0.9rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| backdrop-filter: blur(15px); |
| position: relative; |
| overflow: hidden; |
| } |
|
|
| .view-all-btn::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: -100%; |
| width: 100%; |
| height: 100%; |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); |
| transition: left 0.5s ease; |
| } |
|
|
| .view-all-btn:hover::before { |
| left: 100%; |
| } |
|
|
| .view-all-btn:hover { |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.3), rgba(118, 75, 162, 0.3)); |
| transform: translateY(-2px); |
| box-shadow: 0 8px 24px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .section-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 20px; |
| } |
|
|
| .section-header h3 { |
| font-size: 1.3rem; |
| font-weight: 700; |
| color: #fff; |
| margin: 0; |
| } |
|
|
| .view-all-btn { |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.2), rgba(118, 75, 162, 0.2)); |
| border: 1px solid rgba(102, 126, 234, 0.3); |
|
|
| color: #fff; |
| padding: 8px 16px; |
| border-radius: 12px; |
| font-size: 0.9rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| backdrop-filter: blur(15px); |
| } |
|
|
| .view-all-btn:hover { |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.3), rgba(118, 75, 162, 0.3)); |
|
|
| transform: translateY(-1px); |
| } |
|
|
| .orders-list, |
| .products-list { |
| display: flex; |
| flex-direction: column; |
| gap: 18px; |
| max-height: 400px; |
| overflow-y: auto; |
| padding-right: 8px; |
| } |
|
|
| .orders-list::-webkit-scrollbar, |
| .products-list::-webkit-scrollbar { |
| width: 6px; |
| } |
|
|
| .orders-list::-webkit-scrollbar-track, |
| .products-list::-webkit-scrollbar-track { |
| background: rgba(255, 255, 255, 0.1); |
| border-radius: 3px; |
| } |
|
|
| .orders-list::-webkit-scrollbar-thumb, |
| .products-list::-webkit-scrollbar-thumb { |
| background: rgba(255, 255, 255, 0.3); |
| border-radius: 3px; |
| } |
|
|
| .orders-list::-webkit-scrollbar-thumb:hover, |
| .products-list::-webkit-scrollbar-thumb:hover { |
| background: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .order-card { |
| background: rgba(255, 255, 255, 0.08); |
| border: 1px solid rgba(255, 255, 255, 0.12); |
| border-radius: 16px; |
| padding: 20px; |
| transition: all 0.3s ease; |
| box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); |
| } |
|
|
| .order-card:hover { |
| background: rgba(255, 255, 255, 0.12); |
| border-color: rgba(255, 255, 255, 0.2); |
| transform: translateX(6px); |
| box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); |
| } |
|
|
| .order-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 12px; |
| flex-wrap: wrap; |
| gap: 8px; |
| } |
|
|
| .order-id { |
| font-weight: 600; |
| color: #fff; |
| font-size: 0.9rem; |
| background: rgba(255, 255, 255, 0.1); |
| padding: 4px 8px; |
| border-radius: 8px; |
| } |
|
|
| .order-status { |
| padding: 6px 12px; |
| border-radius: 20px; |
| font-size: 0.8rem; |
| font-weight: 600; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| color: #fff; |
| } |
|
|
| .order-customer { |
| font-weight: 500; |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 0.9rem; |
| } |
|
|
| .order-amount { |
| font-weight: 700; |
| color: #10b981; |
| font-size: 1rem; |
| } |
|
|
| .order-date { |
| font-size: 0.8rem; |
| color: rgba(255, 255, 255, 0.7); |
| font-weight: 400; |
| } |
|
|
| .product-card { |
| background: rgba(255, 255, 255, 0.08); |
| border: 1px solid rgba(255, 255, 255, 0.12); |
| border-radius: 16px; |
| padding: 20px; |
| transition: all 0.3s ease; |
| box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); |
| } |
|
|
| .product-card:hover { |
| background: rgba(255, 255, 255, 0.12); |
| border-color: rgba(255, 255, 255, 0.2); |
| transform: translateX(6px); |
| box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); |
| } |
|
|
| .product-info { |
| display: flex; |
| flex-direction: column; |
| gap: 12px; |
| } |
|
|
| .product-name { |
| font-size: 1rem; |
| font-weight: 600; |
| color: #fff; |
| margin: 0; |
| line-height: 1.4; |
| } |
|
|
| .product-meta { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| flex-wrap: wrap; |
| gap: 8px; |
| } |
|
|
| .product-price { |
| font-weight: 700; |
| color: #10b981; |
| font-size: 1.1rem; |
| } |
|
|
| .product-rating { |
| display: flex; |
| align-items: center; |
| gap: 4px; |
| color: #fbbf24; |
| font-size: 0.9rem; |
| font-weight: 600; |
| } |
|
|
| .product-stock { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| flex-wrap: wrap; |
| gap: 8px; |
| } |
|
|
| .stock-indicator { |
| padding: 4px 10px; |
| border-radius: 12px; |
| font-size: 0.75rem; |
| font-weight: 600; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| color: #fff; |
| } |
|
|
| .stock-indicator.high { |
| background: rgba(16, 185, 129, 0.2); |
| border: 1px solid rgba(16, 185, 129, 0.3); |
| color: #10b981; |
| } |
|
|
| .stock-indicator.low { |
| background: rgba(245, 158, 11, 0.2); |
| border: 1px solid rgba(245, 158, 11, 0.3); |
| color: #f59e0b; |
| } |
|
|
| .stock-indicator.out { |
| background: rgba(239, 68, 68, 0.2); |
| border: 1px solid rgba(239, 68, 68, 0.3); |
| color: #ef4444; |
| } |
|
|
| .stock-count { |
| font-size: 0.8rem; |
| color: rgba(255, 255, 255, 0.7); |
| font-weight: 400; |
| } |
|
|
| .empty-state { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| justify-content: center; |
| padding: 40px 20px; |
| text-align: center; |
| color: rgba(255, 255, 255, 0.6); |
| } |
|
|
| .empty-state svg { |
| margin-bottom: 16px; |
| opacity: 0.5; |
| } |
|
|
| .empty-state p { |
| font-size: 1rem; |
| font-weight: 500; |
| margin: 0; |
| } |
|
|
| .admin-loading { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| justify-content: center; |
| min-height :70vh; |
| color: #fff; |
| } |
|
|
| .loading-progress-indicator { |
| position: fixed; |
| top: 20px; |
| left: 50%; |
| transform: translateX(-50%); |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(20px); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| border-radius: 16px; |
| padding: 16px 24px; |
| z-index: 1000; |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); |
| } |
|
|
| .loading-progress-content { |
| display: flex; |
| align-items: center; |
| gap: 16px; |
| } |
|
|
| .loading-progress-text { |
| font-size: 0.9rem; |
| color: rgba(255, 255, 255, 0.9); |
| font-weight: 500; |
| margin-bottom: 8px; |
| } |
|
|
| .loading-progress-bar { |
| width: 200px; |
| height: 6px; |
| background: rgba(255, 255, 255, 0.1); |
| border-radius: 3px; |
| overflow: hidden; |
| backdrop-filter: blur(10px); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| } |
|
|
| .loading-progress-fill { |
| height: 100%; |
| background: linear-gradient(90deg, #667eea, #764ba2); |
| border-radius: 3px; |
| box-shadow: 0 0 20px rgba(102, 126, 234, 0.5); |
| } |
|
|
| .loading-spinner { |
| position: relative; |
| width: 80px; |
| height: 80px; |
| margin-bottom: 24px; |
| } |
|
|
| .spinner-ring { |
| position: absolute; |
| width: 100%; |
| height: 100%; |
| border: 3px solid transparent; |
| border-top: 3px solid #667eea; |
| border-radius: 50%; |
| animation: spin 1.5s linear infinite; |
| } |
|
|
| .spinner-ring:nth-child(1) { |
| animation-delay: 0s; |
| } |
|
|
| .spinner-ring:nth-child(2) { |
| width: 70%; |
| height: 70%; |
| top: 15%; |
| left: 15%; |
| border-top-color: #764ba2; |
| animation-delay: 0.2s; |
| } |
|
|
| .spinner-ring:nth-child(3) { |
| width: 40%; |
| height: 40%; |
| top: 30%; |
| left: 30%; |
| border-top-color: #f093fb; |
| animation-delay: 0.4s; |
| } |
|
|
| @keyframes spin { |
| 0% { transform: rotate(0deg); } |
| 100% { transform: rotate(360deg); } |
| } |
|
|
| .animate-spin { |
| animation: spin 1s linear infinite; |
| } |
|
|
| .modal-overlay { |
| position: fixed; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| backdrop-filter: blur(10px); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| z-index: 2000; |
| padding: 20px; |
| } |
|
|
| .modal-content { |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(25px); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| border-radius: 16px; |
| padding: 0; |
| max-width: 500px; |
| width: 100%; |
| max-height: 90vh; |
| overflow: hidden; |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| .modal-content-glass { |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(25px); |
| } |
|
|
| .modal-content-large { |
| max-width: 800px; |
| } |
|
|
| .modal-header { |
| padding: 24px 24px 0 24px; |
| border-bottom: 1px solid rgba(255, 255, 255, 0.1); |
| margin-bottom: 24px; |
| } |
|
|
| .modal-header-container { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| } |
|
|
| .modal-header-inline { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| padding: 20px 24px; |
| border-bottom: 1px solid rgba(255, 255, 255, 0.1); |
| flex-shrink: 0; |
| } |
|
|
| .modal-title { |
| font-size: 1.5rem; |
| font-weight: 600; |
| margin: 0; |
| color: #fff; |
| } |
|
|
| .modal-title-inline { |
| font-size: 1.3rem; |
| font-weight: 600; |
| margin: 0; |
| color: #fff; |
| } |
|
|
| .modal-close { |
| background: rgba(255, 255, 255, 0.1); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| color: rgba(255, 255, 255, 0.8); |
| width: 32px; |
| height: 32px; |
| border-radius: 8px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .modal-close-button { |
| background: rgba(255, 255, 255, 0.1); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| color: rgba(255, 255, 255, 0.8); |
| width: 32px; |
| height: 32px; |
| border-radius: 8px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .modal-close-inline { |
| background: rgba(255, 255, 255, 0.1); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| color: rgba(255, 255, 255, 0.8); |
| width: 28px; |
| height: 28px; |
| border-radius: 6px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .close-btn { |
| background: rgba(255, 255, 255, 0.1); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| color: rgba(255, 255, 255, 0.8); |
| width: 32px; |
| height: 32px; |
| border-radius: 8px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .close-btn:hover { |
| background: rgba(255, 255, 255, 0.15); |
| border-color: rgba(255, 255, 255, 0.3); |
| color: #fff; |
| transform: scale(1.05); |
| } |
|
|
| .close-btn:active { |
| transform: scale(0.95); |
| } |
|
|
| .modal-form { |
| padding: 0 24px 24px 24px; |
| flex: 1; |
| overflow-y: auto; |
| max-height: calc(90vh - 120px); |
| } |
|
|
| .modal-form-scrollable { |
| max-height: calc(90vh - 140px); |
| overflow-y: auto; |
| padding-right: 8px; |
| } |
|
|
| .modal-form-scrollable::-webkit-scrollbar { |
| width: 6px; |
| } |
|
|
| .modal-form-scrollable::-webkit-scrollbar-track { |
| background: rgba(255, 255, 255, 0.1); |
| border-radius: 3px; |
| } |
|
|
| .modal-form-scrollable::-webkit-scrollbar-thumb { |
| background: rgba(255, 255, 255, 0.3); |
| border-radius: 3px; |
| } |
|
|
| .modal-form-scrollable::-webkit-scrollbar-thumb:hover { |
| background: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .form-group { |
| margin-bottom: 20px; |
| } |
|
|
| .form-section { |
| margin-bottom: 32px; |
| padding: 24px; |
| background: rgba(255, 255, 255, 0.03); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 16px; |
| backdrop-filter: blur(10px); |
| } |
|
|
| .form-section-title { |
| font-size: 1.1rem; |
| font-weight: 600; |
| color: #fff; |
| margin-bottom: 20px; |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| } |
|
|
| .form-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); |
| gap: 16px; |
| } |
|
|
| .form-group label { |
| display: block; |
| margin-bottom: 8px; |
| font-weight: 500; |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 0.9rem; |
| } |
|
|
| .modal-form-input { |
| width: 100%; |
| padding: 12px 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.95rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .modal-form-input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .modal-form-input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .radio-button-container { |
| display: flex; |
| gap: 16px; |
| } |
|
|
| .radio-button-label { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| cursor: pointer; |
| font-size: 0.9rem; |
| color: rgba(255, 255, 255, 0.9); |
| } |
|
|
| .radio-button-input { |
| width: 16px; |
| height: 16px; |
| } |
|
|
| .checkbox-label { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| cursor: pointer; |
| font-size: 0.9rem; |
| color: rgba(255, 255, 255, 0.9); |
| } |
|
|
| .checkbox-input { |
| width: 16px; |
| height: 16px; |
| } |
|
|
| .modal-actions { |
| display: flex; |
| gap: 12px; |
| justify-content: flex-end; |
| margin-top: 24px; |
| } |
|
|
| .modal-actions-inline { |
| display: flex; |
| gap: 12px; |
| justify-content: flex-end; |
| margin-top: 24px; |
| padding: 20px 24px; |
| border-top: 1px solid rgba(255, 255, 255, 0.1); |
| background: rgba(255, 255, 255, 0.02); |
| } |
|
|
| .modal-actions-container { |
| display: flex; |
| gap: 12px; |
| justify-content: flex-end; |
| margin-top: 24px; |
| } |
|
|
| .btn-primary { |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| color: #fff; |
| border: none; |
| padding: 10px 20px; |
| border-radius: 8px; |
| font-size: 0.9rem; |
| font-weight: 500; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .btn-secondary { |
| background: rgba(255, 255, 255, 0.1); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| color: rgba(255, 255, 255, 0.8); |
| padding: 10px 20px; |
| border-radius: 8px; |
| font-size: 0.9rem; |
| font-weight: 500; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .category-modal-btn { |
| padding: 14px 28px; |
| font-size: 1rem; |
| font-weight: 600; |
| border-radius: 14px; |
| min-width: 140px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| gap: 8px; |
| } |
|
|
| .category-modal-btn.btn-primary { |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| border: 1px solid rgba(102, 126, 234, 0.3); |
| color: white; |
| box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); |
| } |
|
|
| .category-modal-btn.btn-primary:hover { |
| background: linear-gradient(135deg, #5a67d8, #6b46c1); |
| transform: translateY(-2px); |
| box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4); |
| } |
|
|
| .category-modal-btn.btn-secondary { |
| background: rgba(255, 255, 255, 0.15); |
| border: 1px solid rgba(255, 255, 255, 0.25); |
| color: rgba(255, 255, 255, 0.9); |
| } |
|
|
| .category-modal-btn.btn-secondary:hover { |
| background: rgba(255, 255, 255, 0.2); |
| border-color: rgba(255, 255, 255, 0.3); |
| transform: translateY(-2px); |
| box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1); |
| } |
|
|
| .sidebar-toggle { |
| position: fixed; |
| top: 20px; |
| left: 20px; |
| width: 48px; |
| height: 48px; |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(10px); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| z-index: 1000; |
| } |
|
|
| .sidebar-toggle.open { |
| background: rgba(102, 126, 234, 0.2); |
| border-color: rgba(102, 126, 234, 0.4); |
| } |
|
|
| .animated-gradient-bg { |
| position: fixed; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| background: linear-gradient(135deg, #101029 0%, #182234ea 25%, #063455 50%, #094669 75%, #0f3c56 100%); |
| background-size: 200% 200%; |
| pointer-events: none; |
| z-index: 0; |
| animation: gradientShift 20s ease-in-out infinite; |
| } |
|
|
| @keyframes gradientShift { |
| 0% { background-position: 0% 50%; } |
| 50% { background-position: 100% 50%; } |
| 100% { background-position: 0% 50%; } |
| } |
|
|
| @keyframes fadeIn { |
| from { opacity: 0; transform: translateY(20px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
|
|
| .glass { |
| background: rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(10px); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| } |
|
|
| .adv-btn { |
| background: rgba(255, 255, 255, 0.1); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| color: rgba(255, 255, 255, 0.8); |
| padding: 8px 16px; |
| border-radius: 8px; |
| font-size: 0.85rem; |
| font-weight: 500; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| display: flex; |
| align-items: center; |
| gap: 6px; |
| } |
|
|
| .animate-spin { |
| animation: spin 1s linear infinite; |
| } |
|
|
| @keyframes spin { |
| from { transform: rotate(0deg); } |
| to { transform: rotate(360deg); } |
| } |
|
|
| .settings-content { |
| padding: 24px; |
| min-height: calc(100vh - 120px); |
| overflow-y: auto; |
| } |
|
|
| .settings-last-update-badge { |
| font-size: 0.85rem; |
| color: rgba(255,255,255,0.6); |
| background: rgba(255,255,255,0.05); |
| padding: 6px 12px; |
| border-radius: 8px; |
| border: 1px solid rgba(255,255,255,0.1); |
| backdrop-filter: blur(10px); |
| white-space: nowrap; |
| } |
|
|
| .settings-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); |
| gap: 24px; |
| margin-top: 24px; |
| } |
|
|
| .settings-card { |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 16px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| overflow: hidden; |
| backdrop-filter: blur(20px); |
| transition: all 0.3s ease; |
| } |
|
|
| .settings-card-header { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| padding: 20px 24px; |
| background: rgba(255, 255, 255, 0.08); |
| border-bottom: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .settings-card-header h3 { |
| margin: 0; |
| font-size: 1.1rem; |
| font-weight: 600; |
| color: #ffffff; |
| } |
|
|
| .settings-card-content { |
| padding: 24px; |
| } |
|
|
| .setting-item { |
| margin-bottom: 20px; |
| } |
|
|
| .setting-item:last-child { |
| margin-bottom: 0; |
| } |
|
|
| .setting-item label { |
| display: block; |
| margin-bottom: 8px; |
| font-weight: 500; |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 0.95rem; |
| } |
|
|
| .setting-item input, |
| .setting-item select { |
| width: 100%; |
| padding: 12px 16px; |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| border-radius: 8px; |
| background: rgba(255, 255, 255, 0.05); |
| color: #ffffff; |
| font-size: 0.95rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .setting-item input:focus, |
| .setting-item select:focus { |
| outline: none; |
| border-color: #667eea; |
| background: rgba(255, 255, 255, 0.1); |
| box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); |
| } |
|
|
| .setting-item input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .setting-item select option { |
| background: rgba(40, 40, 40, 0.95); |
| color: #ffffff; |
| padding: 8px 12px; |
| } |
|
|
| .settings-actions { |
| display: flex; |
| gap: 12px; |
| margin-top: 16px; |
| flex-wrap: wrap; |
| } |
|
|
| .settings-btn { |
| padding: 8px 16px; |
| font-size: 0.9rem; |
| display: flex; |
| align-items: center; |
| gap: 6px; |
| white-space: nowrap; |
| } |
|
|
| .settings-btn.secondary { |
| background: rgba(255, 255, 255, 0.1); |
| color: rgba(255, 255, 255, 0.8); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| } |
|
|
| .settings-actions-container { |
| display: flex; |
| justify-content: center; |
| gap: 16px; |
| margin-top: 32px; |
| padding: 24px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 16px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| backdrop-filter: blur(20px); |
| } |
|
|
| .settings-save-btn { |
| background: linear-gradient(135deg, #10b981, #059669); |
| color: #ffffff; |
| border: none; |
| padding: 12px 24px; |
| border-radius: 12px; |
| font-size: 1rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| box-shadow: 0 4px 16px rgba(16, 185, 129, 0.3); |
| } |
|
|
| .settings-reset-btn { |
| background: rgba(239, 68, 68, 0.1); |
| color: #ef4444; |
| border: 1px solid rgba(239, 68, 68, 0.3); |
| padding: 12px 24px; |
| border-radius: 12px; |
| font-size: 1rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| backdrop-filter: blur(10px); |
| } |
|
|
| .glass-button { |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| border: 1px solid rgba(102, 126, 234, 0.3); |
| border-radius: 8px; |
| padding: 8px 16px; |
| color: white; |
| font-weight: 600; |
| font-size: 0.9rem; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| min-width: 40px; |
| box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .glass-button:hover { |
| background: linear-gradient(135deg, #5a67d8, #6b46c1); |
| transform: translateY(-2px); |
| box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); |
| border-color: rgba(102, 126, 234, 0.5); |
| } |
|
|
| .glass-button:active { |
| transform: translateY(0); |
| box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .glass-button:disabled { |
| opacity: 0.5; |
| cursor: not-allowed; |
| transform: none; |
| box-shadow: none; |
| } |
|
|
| .category-input-container { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| } |
|
|
| .category-input-wrapper { |
| margin-top: 12px; |
| } |
|
|
| .category-input-field { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| margin-bottom: 8px; |
| } |
|
|
| .category-input-field input { |
| flex: 1; |
| padding: 10px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .category-input-field input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .category-input-field input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .category-input-instructions { |
| color: rgba(255, 255, 255, 0.6); |
| font-size: 0.8rem; |
| line-height: 1.4; |
| } |
|
|
| .glass-dropdown-select { |
| width: 100%; |
| padding: 10px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| cursor: pointer; |
| } |
|
|
| .glass-dropdown-select:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .glass-dropdown-select option { |
| background: rgba(40, 40, 40, 0.95); |
| color: #ffffff; |
| padding: 8px 12px; |
| } |
|
|
| .glass-input { |
| width: 100%; |
| padding: 10px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .glass-input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .glass-input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .specifications-container { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); |
| gap: 12px; |
| margin-bottom: 8px; |
| } |
|
|
| .specification-field { |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| .specification-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 8px; |
| } |
|
|
| .specification-label { |
| color: #667eea; |
| font-weight: 600; |
| font-size: 0.85rem; |
| text-transform: capitalize; |
| } |
|
|
| .remove-specification-btn { |
| background: rgba(239, 68, 68, 0.1); |
| border: 1px solid rgba(239, 68, 68, 0.3); |
| color: #ef4444; |
| width: 20px; |
| height: 20px; |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| font-size: 14px; |
| font-weight: bold; |
| } |
|
|
| .remove-specification-btn:hover { |
| background: rgba(239, 68, 68, 0.2); |
| border-color: rgba(239, 68, 68, 0.5); |
| transform: scale(1.1); |
| } |
|
|
| .specification-input { |
| width: 100%; |
| padding: 10px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .specification-input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .specification-input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .specification-field { |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| .specification-input { |
| width: 100%; |
| padding: 10px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .specification-input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .specification-input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .specification-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 8px; |
| } |
|
|
| .specification-label { |
| color: #667eea; |
| font-weight: 600; |
| font-size: 0.85rem; |
| text-transform: capitalize; |
| } |
|
|
| .remove-specification-btn { |
| background: rgba(239, 68, 68, 0.1); |
| border: 1px solid rgba(239, 68, 68, 0.3); |
| color: #ef4444; |
| width: 20px; |
| height: 20px; |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| font-size: 14px; |
| font-weight: bold; |
| } |
|
|
| .remove-specification-btn:hover { |
| background: rgba(239, 68, 68, 0.2); |
| border-color: rgba(239, 68, 68, 0.5); |
| transform: scale(1.1); |
| } |
|
|
| .add-specification-container { |
| display: flex; |
| gap: 8px; |
| margin-top: 12px; |
| align-items: center; |
| } |
|
|
| .add-specification-input { |
| flex: 1; |
| padding: 8px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.85rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .add-specification-input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .add-specification-input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .add-specification-btn { |
| background: linear-gradient(135deg, #10b981, #059669); |
| border: 1px solid rgba(16, 185, 129, 0.3); |
| color: white; |
| padding: 8px 16px; |
| border-radius: 8px; |
| font-size: 0.85rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| white-space: nowrap; |
| } |
|
|
| .add-specification-container { |
| display: flex; |
| gap: 8px; |
| margin-top: 12px; |
| align-items: center; |
| } |
|
|
| .add-specification-input { |
| flex: 1; |
| padding: 8px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.85rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .add-specification-input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .add-specification-input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .add-specification-btn:hover:not(:disabled) { |
| background: linear-gradient(135deg, #059669, #047857); |
| transform: translateY(-1px); |
| box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3); |
| } |
|
|
| .add-specification-btn:disabled { |
| opacity: 0.5; |
| cursor: not-allowed; |
| transform: none; |
| box-shadow: none; |
| } |
|
|
| .reviews-container { |
| display: flex; |
| flex-direction: column; |
| gap: 16px; |
| margin-bottom: 8px; |
| } |
|
|
| .review-item { |
| background: rgba(255, 255, 255, 0.03); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 12px; |
| padding: 16px; |
| transition: all 0.3s ease; |
| } |
|
|
| .review-item:hover { |
| background: rgba(255, 255, 255, 0.05); |
| border-color: rgba(255, 255, 255, 0.15); |
| } |
|
|
| .review-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 12px; |
| padding-bottom: 8px; |
| border-bottom: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .review-number { |
| color: #667eea; |
| font-weight: 600; |
| font-size: 0.9rem; |
| } |
|
|
| .remove-review-btn { |
| background: rgba(239, 68, 68, 0.1); |
| border: 1px solid rgba(239, 68, 68, 0.3); |
| color: #ef4444; |
| width: 24px; |
| height: 24px; |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| font-size: 16px; |
| font-weight: bold; |
| } |
|
|
| .remove-review-btn:hover { |
| background: rgba(239, 68, 68, 0.2); |
| border-color: rgba(239, 68, 68, 0.5); |
| transform: scale(1.1); |
| } |
|
|
| .review-fields { |
| display: flex; |
| flex-direction: column; |
| gap: 12px; |
| } |
|
|
| .review-field { |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| .review-field.full-width { |
| grid-column: 1 / -1; |
| } |
|
|
| .review-input { |
| width: 100%; |
| padding: 10px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| resize: vertical; |
| } |
|
|
| .review-input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .review-input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .add-review-btn { |
| background: linear-gradient(135deg, #10b981, #059669); |
| border: 1px solid rgba(16, 185, 129, 0.3); |
| color: white; |
| padding: 12px 20px; |
| border-radius: 10px; |
| font-size: 0.9rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| gap: 8px; |
| box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2); |
| margin-top: 8px; |
| } |
|
|
| .add-review-btn:hover { |
| background: linear-gradient(135deg, #059669, #047857); |
| transform: translateY(-2px); |
| box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3); |
| border-color: rgba(16, 185, 129, 0.5); |
| } |
|
|
| .add-review-btn:active { |
| transform: translateY(0); |
| box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2); |
| } |
|
|
| .add-review-btn span { |
| font-size: 1.2rem; |
| font-weight: bold; |
| } |
|
|
| .review-item { |
| background: rgba(255, 255, 255, 0.03); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 12px; |
| padding: 16px; |
| transition: all 0.3s ease; |
| } |
|
|
| .review-item:hover { |
| background: rgba(255, 255, 255, 0.05); |
| border-color: rgba(255, 255, 255, 0.15); |
| } |
|
|
| .review-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 12px; |
| padding-bottom: 8px; |
| border-bottom: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .review-number { |
| color: #667eea; |
| font-weight: 600; |
| font-size: 0.9rem; |
| } |
|
|
| .remove-review-btn { |
| background: rgba(239, 68, 68, 0.1); |
| border: 1px solid rgba(239, 68, 68, 0.3); |
| color: #ef4444; |
| width: 24px; |
| height: 24px; |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| font-size: 16px; |
| font-weight: bold; |
| } |
|
|
| .remove-review-btn:hover { |
| background: rgba(239, 68, 68, 0.2); |
| border-color: rgba(239, 68, 68, 0.5); |
| transform: scale(1.1); |
| } |
|
|
| .review-fields { |
| display: flex; |
| flex-direction: column; |
| gap: 12px; |
| } |
|
|
| .review-field { |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| .review-field.full-width { |
| grid-column: 1 / -1; |
| } |
|
|
| .review-input { |
| width: 100%; |
| padding: 10px 12px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: #fff; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| resize: vertical; |
| } |
|
|
| .review-input:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .review-input::placeholder { |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .add-review-btn { |
| background: linear-gradient(135deg, #10b981, #059669); |
| border: 1px solid rgba(16, 185, 129, 0.3); |
| color: white; |
| padding: 12px 20px; |
| border-radius: 10px; |
| font-size: 0.9rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| gap: 8px; |
| box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2); |
| margin-top: 8px; |
| } |
|
|
| .add-review-btn:hover { |
| background: linear-gradient(135deg, #059669, #047857); |
| transform: translateY(-2px); |
| box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3); |
| border-color: rgba(16, 185, 129, 0.5); |
| } |
|
|
| .add-review-btn:active { |
| transform: translateY(0); |
| box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2); |
| } |
|
|
| .add-review-btn span { |
| font-size: 1.2rem; |
| font-weight: bold; |
| } |
|
|
| .form-help-text { |
| color: rgba(255, 255, 255, 0.6); |
| font-size: 0.8rem; |
| line-height: 1.4; |
| margin-top: 4px; |
| } |
|
|
| .image-preview-container { |
| margin-top: 16px; |
| } |
|
|
| .image-preview-label { |
| display: block; |
| margin-bottom: 12px; |
| font-weight: 500; |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 0.9rem; |
| } |
|
|
| .image-preview-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); |
| gap: 12px; |
| } |
|
|
| .image-preview-item { |
| position: relative; |
| border-radius: 8px; |
| overflow: hidden; |
| aspect-ratio: 1; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .image-preview-img { |
| width: 100%; |
| height: 100%; |
| object-fit: cover; |
| } |
|
|
| .image-preview-img.new { |
| border: 2px solid #10b981; |
| } |
|
|
| .image-remove-btn { |
| position: absolute; |
| top: 4px; |
| right: 4px; |
| background: rgba(239, 68, 68, 0.9); |
| border: none; |
| color: white; |
| width: 20px; |
| height: 20px; |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| font-size: 12px; |
| font-weight: bold; |
| transition: all 0.3s ease; |
| } |
|
|
| .image-remove-btn:hover { |
| background: rgba(239, 68, 68, 1); |
| transform: scale(1.1); |
| } |
|
|
| .advanced-settings-summary { |
| cursor: pointer; |
| padding: 12px 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| color: rgba(255, 255, 255, 0.9); |
| font-weight: 600; |
| font-size: 0.95rem; |
| transition: all 0.3s ease; |
| margin-bottom: 16px; |
| } |
|
|
| .advanced-settings-summary:hover { |
| background: rgba(255, 255, 255, 0.08); |
| border-color: rgba(255, 255, 255, 0.2); |
| } |
|
|
| .advanced-settings-summary::-webkit-details-marker { |
| color: #667eea; |
| } |
|
|
| details[open] .advanced-settings-summary { |
| background: rgba(102, 126, 234, 0.1); |
| border-color: rgba(102, 126, 234, 0.3); |
| color: #667eea; |
| } |
|
|
| .order-modal-content { |
| max-width: 120vh; |
| width: 100%; |
| max-height: 100vh; |
| overflow-y: auto; |
| } |
|
|
| .order-modal-title { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| } |
|
|
| .order-id-badge { |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| color: white; |
| padding: 12px; |
| border-radius: 20px; |
| font-size: 0.8rem; |
| font-weight: 600; |
| margin-right: 40px; |
| } |
|
|
| .header-update-btn { |
| padding: 4px; |
| font-size: 0.9rem; |
| border-radius: 10px; |
| display: flex; |
| align-items: center; |
| gap: 3px; |
| color: #fff; |
| font-weight: 600; |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); |
| margin: 8px; |
| } |
|
|
| .header-update-btn:hover { |
| transform: translateY(-1px); |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); |
| } |
|
|
| .order-modal-body { |
| padding: 16px; |
| } |
|
|
| .order-summary-section { |
| margin-bottom: 16px; |
| padding: 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .section-title { |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 1rem; |
| font-weight: 600; |
| margin-bottom: 12px; |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| } |
|
|
| .order-details-grid { |
| display: grid; |
| grid-template-columns: repeat(2, 1fr); |
| gap: 12px; |
| } |
|
|
| .detail-item { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| padding: 8px; |
| background: rgba(255, 255, 255, 0.03); |
| border-radius: 8px; |
| border: 1px solid rgba(255, 255, 255, 0.05); |
| } |
|
|
| .detail-icon { |
| font-size: 1rem; |
| width: 32px; |
| height: 32px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| background: rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| } |
|
|
| .detail-content { |
| flex: 1; |
| display: flex; |
| flex-direction: column; |
| gap: 4px; |
| } |
|
|
| .detail-content label { |
| color: rgba(255, 255, 255, 0.6); |
| font-size: 0.7rem; |
| font-weight: 500; |
| text-transform: uppercase; |
| letter-spacing: 0.5px; |
| } |
|
|
| .detail-value { |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 0.9rem; |
| font-weight: 600; |
| } |
|
|
| .amount-value { |
| color: #10b981; |
| font-size: 1.1rem; |
| } |
|
|
| .shipping-details-section { |
| margin-bottom: 16px; |
| padding: 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .uploading-button { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| font-size: 0.9rem; |
| font-weight: 500; |
| } |
|
|
| .uploading-spinner { |
| animation: spin 1s linear infinite; |
| } |
|
|
| .order-items-section { |
| margin-top: 16px; |
| padding: 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .order-items-list { |
| display: flex; |
| flex-direction: column; |
| gap: 8px; |
| } |
|
|
| .order-item-row { |
| display: grid; |
| grid-template-columns: 1fr auto auto auto; |
| gap: 12px; |
| padding: 12px; |
| background: rgba(255, 255, 255, 0.03); |
| border-radius: 8px; |
| border: 1px solid rgba(255, 255, 255, 0.05); |
| align-items: center; |
| } |
|
|
| .order-item-name { |
| font-weight: 600; |
| color: rgba(255, 255, 255, 0.9); |
| } |
|
|
| .order-item-qty { |
| color: rgba(255, 255, 255, 0.7); |
| font-size: 0.9rem; |
| } |
|
|
| .order-item-price { |
| color: #10b981; |
| font-weight: 600; |
| font-size: 0.9rem; |
| } |
|
|
| .order-item-category { |
| color: rgba(255, 255, 255, 0.6); |
| font-size: 0.8rem; |
| } |
|
|
| .status-section { |
| margin-top: 16px; |
| padding: 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .status-selector { |
| display: flex; |
| gap: 12px; |
| align-items: center; |
| } |
|
|
| .status-select { |
| flex: 1; |
| padding: 8px 12px; |
| border-radius: 8px; |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| background: rgba(255, 255, 255, 0.05); |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 0.9rem; |
| } |
|
|
| .status-select:focus { |
| outline: none; |
| border-color: #667eea; |
| box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .quick-stat { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| padding: 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| transition: all 0.3s ease; |
| } |
|
|
| .quick-stat:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); |
| } |
|
|
| .quick-stat-icon { |
| width: 48px; |
| height: 48px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| border-radius: 12px; |
| font-size: 1.5rem; |
| } |
|
|
| .quick-stat-content { |
| flex: 1; |
| } |
|
|
| .quick-stat-content h4 { |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 1.1rem; |
| font-weight: 600; |
| margin: 0 0 4px 0; |
| } |
|
|
| .quick-stat-content p { |
| color: rgba(255, 255, 255, 0.6); |
| font-size: 0.9rem; |
| margin: 0; |
| } |
|
|
| .dashboard-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 24px; |
| margin-top: 24px; |
| } |
|
|
| .recent-orders, |
| .top-products { |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 16px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| padding: 20px; |
| } |
|
|
| .section-header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| margin-bottom: 16px; |
| } |
|
|
| .section-header h3 { |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 1.2rem; |
| font-weight: 600; |
| margin: 0; |
| } |
|
|
| .view-all-btn { |
| padding: 8px 16px; |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| color: white; |
| border: none; |
| border-radius: 8px; |
| font-size: 0.9rem; |
| font-weight: 500; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .view-all-btn:hover { |
| transform: translateY(-1px); |
| box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); |
| } |
|
|
| .orders-list, |
| .products-list { |
| display: flex; |
| flex-direction: column; |
| gap: 12px; |
| } |
|
|
| .empty-state { |
| text-align: center; |
| padding: 40px 20px; |
| color: rgba(255, 255, 255, 0.5); |
| } |
|
|
| .empty-state p { |
| margin: 0; |
| font-size: 0.9rem; |
| } |
|
|
| .users-content, |
| .products-content, |
| .orders-content, |
| .analytics-content { |
| display: block; |
| padding: 24px; |
| min-height: calc(100vh - 120px); |
| overflow-y: auto; |
| } |
|
|
| .order-modal-title { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| } |
|
|
| .header-actions { |
| display: flex; |
| align-items: center; |
| gap: 12px; |
| } |
|
|
| .header-update-btn { |
| padding: 4px; |
| font-size: 0.9rem; |
| border-radius: 10px; |
| display: flex; |
| align-items: center; |
| gap: 3px; |
| color: #fff; |
| font-weight: 600; |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); |
| margin: 8px; |
| } |
|
|
| .header-update-btn:hover { |
| transform: translateY(-1px); |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); |
| } |
|
|
| .order-id-badge { |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| color: white; |
| padding: 12px; |
| border-radius: 20px; |
| font-size: 0.8rem; |
| font-weight: 600; |
| margin-right: 40px; |
| } |
|
|
| .order-modal-body { |
| padding: 16px; |
| } |
|
|
| .section-title { |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 1rem; |
| font-weight: 600; |
| margin-bottom: 12px; |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| } |
|
|
| .order-summary-section { |
| margin-bottom: 16px; |
| padding: 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .order-details-grid { |
| display: grid; |
| grid-template-columns: repeat(2, 1fr); |
| gap: 12px; |
| } |
|
|
| .detail-item { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| padding: 8px; |
| background: rgba(255, 255, 255, 0.03); |
| border-radius: 8px; |
| border: 1px solid rgba(255, 255, 255, 0.05); |
| } |
|
|
| .detail-icon { |
| font-size: 1rem; |
| width: 32px; |
| height: 32px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| background: rgba(255, 255, 255, 0.1); |
| border-radius: 8px; |
| } |
|
|
| .detail-content { |
| flex: 1; |
| display: flex; |
| flex-direction: column; |
| gap: 4px; |
| } |
|
|
| .detail-content label { |
| color: rgba(255, 255, 255, 0.6); |
| font-size: 0.7rem; |
| font-weight: 500; |
| text-transform: uppercase; |
| letter-spacing: 0.5px; |
| } |
|
|
| .detail-value { |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 0.9rem; |
| font-weight: 600; |
| } |
|
|
| .amount-value { |
| color: #10b981; |
| font-size: 1.1rem; |
| } |
|
|
| .status-section { |
| margin-bottom: 16px; |
| padding: 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .status-display { |
| display: flex; |
| flex-direction: column; |
| gap: 16px; |
| } |
|
|
| .status-badge { |
| padding: 12px 20px; |
| border-radius: 12px; |
| color: white; |
| font-size: 1.1rem; |
| font-weight: 600; |
| text-align: center; |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| } |
|
|
| .status-update-section { |
| margin-bottom: 24px; |
| padding: 20px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 16px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| } |
|
|
| .status-selector { |
| display: flex; |
| flex-direction: column; |
| gap: 8px; |
| } |
|
|
| .status-select-container { |
| position: relative; |
| } |
|
|
| .status-select { |
| width: 100%; |
| padding: 10px 12px; |
| border-radius: 10px; |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| color: white; |
| font-size: 0.9rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| backdrop-filter: blur(10px); |
| } |
|
|
| .status-select:focus { |
| outline: none; |
| border-color: rgba(255, 255, 255, 0.4); |
| box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1); |
| } |
|
|
| .status-select option { |
| background: rgba(40, 40, 40, 0.95); |
| color: white; |
| padding: 8px 12px; |
| } |
|
|
| .order-items-section { |
| margin-bottom: 24px; |
| } |
|
|
| .order-items-list { |
| display: flex; |
| flex-direction: column; |
| gap: 12px; |
| max-height: 300px; |
| overflow-y: auto; |
| } |
|
|
| .order-item-card { |
| display: flex; |
| align-items: center; |
| gap: 16px; |
| padding: 16px; |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 12px; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| transition: all 0.3s ease; |
| } |
|
|
| .order-item-card:hover { |
| background: rgba(255, 255, 255, 0.08); |
| border-color: rgba(255, 255, 255, 0.15); |
| transform: translateY(-2px); |
| } |
|
|
| .item-image { |
| width: 60px; |
| height: 60px; |
| border-radius: 10px; |
| overflow: hidden; |
| flex-shrink: 0; |
| } |
|
|
| .item-image img { |
| width: 100%; |
| height: 100%; |
| object-fit: cover; |
| } |
|
|
| .item-details { |
| flex: 1; |
| display: flex; |
| flex-direction: column; |
| gap: 6px; |
| } |
|
|
| .item-name { |
| color: rgba(255, 255, 255, 0.9); |
| font-size: 1rem; |
| font-weight: 600; |
| margin: 0; |
| line-height: 1.3; |
| } |
|
|
| .item-meta { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| font-size: 0.9rem; |
| } |
|
|
| .item-price { |
| color: #10b981; |
| font-weight: 600; |
| } |
|
|
| .item-quantity { |
| color: rgba(255, 255, 255, 0.6); |
| font-weight: 500; |
| } |
|
|
| .item-total { |
| color: rgba(255, 255, 255, 0.8); |
| font-size: 0.85rem; |
| font-weight: 500; |
| } |
|
|
| .order-modal-actions { |
| padding: 20px 24px; |
| border-top: 1px solid rgba(255, 255, 255, 0.1); |
| background: rgba(255, 255, 255, 0.02); |
| } |
|
|
| .order-close-btn { |
| background: rgba(255, 255, 255, 0.1); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| color: rgba(255, 255, 255, 0.8); |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| } |
|
|
| .order-close-btn:hover { |
| background: rgba(255, 255, 255, 0.15); |
| border-color: rgba(255, 255, 255, 0.3); |
| color: white; |
| } |
|
|
| .order-update-btn { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| font-weight: 600; |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); |
| } |
|
|
| .order-update-btn:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3); |
| } |
|
|
| .order-items-list::-webkit-scrollbar { |
| width: 6px; |
| } |
|
|
| .order-items-list::-webkit-scrollbar-track { |
| background: rgba(255, 255, 255, 0.05); |
| border-radius: 3px; |
| } |
|
|
| .order-items-list::-webkit-scrollbar-thumb { |
| background: rgba(255, 255, 255, 0.2); |
| border-radius: 3px; |
| } |
|
|
| .order-items-list::-webkit-scrollbar-thumb:hover { |
| background: rgba(255, 255, 255, 0.3); |
| } |
|
|
| @media (max-width: 768px) { |
| .dashboard-loading-content { |
| padding: 30px 20px; |
| max-width: 90vw; |
| } |
|
|
| .dashboard-loading-spinner { |
| width: 60px; |
| height: 60px; |
| margin-bottom: 30px; |
| } |
|
|
| .dashboard-loading-title { |
| font-size: 2rem; |
| } |
|
|
| .dashboard-loading-subtitle { |
| font-size: 1.1rem; |
| margin-bottom: 30px; |
| } |
|
|
| .dashboard-loading-progress { |
| max-width: 280px; |
| } |
| } |
|
|
| @media (max-width: 480px) { |
| .dashboard-loading-content { |
| padding: 20px 15px; |
| } |
|
|
| .dashboard-loading-spinner { |
| width: 50px; |
| height: 50px; |
| margin-bottom: 25px; |
| } |
|
|
| .dashboard-loading-title { |
| font-size: 1.8rem; |
| } |
|
|
| .dashboard-loading-subtitle { |
| font-size: 1rem; |
| margin-bottom: 25px; |
| } |
|
|
| .dashboard-loading-progress { |
| max-width: 250px; |
| } |
| } |
|
|
| .glass { |
| background: var(--color-bg-glass); |
| border-radius: 18px; |
| box-shadow: 0 8px 32px var(--color-shadow); |
| border: 1.5px solid var(--color-glass-border); |
| backdrop-filter: blur(var(--color-glass-blur)); |
| -webkit-backdrop-filter: blur(var(--color-glass-blur)); |
| transition: background 0.4s, box-shadow 0.4s; |
| } |
|
|
| .adv-card, .glass, .neu { |
| transition: box-shadow 0.2s, transform 0.2s, background 0.4s; |
| } |
| .adv-card:hover, .glass:hover, .neu:hover { |
| box-shadow: 0 8px 32px var(--color-shadow), 0 1.5px 8px var(--color-accent2); |
| transform: translateY(-2px) scale(1.01); |
| } |
|
|
| .empty-state { |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| justify-content: center; |
| padding: 40px 20px; |
| text-align: center; |
| color: rgba(255, 255, 255, 0.6); |
| } |
|
|
| .empty-state svg { |
| margin-bottom: 16px; |
| opacity: 0.5; |
| } |
|
|
| .empty-state p { |
| font-size: 1rem; |
| font-weight: 500; |
| margin: 0; |
| } |
|
|
| .dashboard-title { |
| font-size: 2rem; |
| font-weight: 800; |
| margin: 0; |
| background: linear-gradient(135deg, #667eea, #764ba2); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| letter-spacing: -0.02em; |
| } |
|
|
| .last-update-badge { |
| background: rgba(255, 255, 255, 0.12); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| padding: 10px 18px; |
| border-radius: 14px; |
| font-size: 0.9rem; |
| color: rgba(255, 255, 255, 0.9); |
| backdrop-filter: blur(15px); |
| font-weight: 500; |
| } |
|
|
| .refresh-button { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.25), rgba(118, 75, 162, 0.25)); |
| border: 1px solid rgba(102, 126, 234, 0.35); |
| color: #fff; |
| padding: 12px 20px; |
| border-radius: 16px; |
| font-size: 0.9rem; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| backdrop-filter: blur(15px); |
| } |
|
|
| .refresh-button:hover { |
| background: linear-gradient(135deg, rgba(102, 126, 234, 0.35), rgba(118, 75, 162, 0.35)); |
| transform: translateY(-2px); |
| box-shadow: 0 8px 24px rgba(102, 126, 234, 0.2); |
| } |
|
|
| .refresh-button:disabled { |
| opacity: 0.6; |
| cursor: not-allowed; |
| transform: none; |
| } |
|
|
| .animate-spin { |
| animation: spin 1s linear infinite; |
| } |
|
|
| @keyframes spin { |
| from { |
| transform: rotate(0deg); |
| } |
| to { |
| transform: rotate(360deg); |
| } |
| } |
|
|
| @media (max-width: 1400px) { |
| .stats-grid-container { |
| grid-template-columns: repeat(4, 1fr); |
| gap: 16px; |
| } |
| |
| .adv-card { |
| padding: 20px; |
| } |
| |
| .stat-icon-container { |
| width: 52px; |
| height: 52px; |
| } |
| |
| .stat-value-text { |
| font-size: 1.6rem; |
| } |
| |
| .stat-title-text { |
| font-size: 0.8rem; |
| } |
| } |
|
|
| @media (max-width: 1200px) { |
| .stats-grid-container { |
| grid-template-columns: repeat(2, 1fr); |
| gap: 20px; |
| } |
| |
| .adv-card { |
| padding: 24px; |
| } |
| |
| .stat-icon-container { |
| width: 56px; |
| height: 56px; |
| } |
| |
| .stat-value-text { |
| font-size: 1.8rem; |
| } |
| |
| .stat-title-text { |
| font-size: 0.85rem; |
| } |
| |
| .quick-stats { |
| grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); |
| gap: 20px; |
| } |
| } |
|
|
| @media (max-width: 768px) { |
| .dashboard-content { |
| padding: 24px 20px; |
| } |
| |
| .dashboard-row { |
| padding: 24px 20px; |
| margin-bottom: 32px; |
| } |
| |
| .stats-grid-container { |
| grid-template-columns: 1fr; |
| gap: 16px; |
| } |
| |
| .adv-card { |
| padding: 20px; |
| } |
| |
| .stat-icon-container { |
| width: 48px; |
| height: 48px; |
| } |
| |
| .stat-value-text { |
| font-size: 1.6rem; |
| } |
| |
| .stat-title-text { |
| font-size: 0.8rem; |
| } |
| |
| .quick-stats { |
| grid-template-columns: 1fr; |
| gap: 16px; |
| } |
| |
| .dashboard-grid { |
| grid-template-columns: 1fr; |
| gap: 24px; |
| } |
| |
| .row-title h3 { |
| font-size: 1.5rem; |
| } |
| |
| .row-title p { |
| font-size: 0.9rem; |
| } |
| |
| .floating-actions { |
| right: 20px; |
| bottom: 20px; |
| } |
| |
| .floating-action-btn { |
| width: 48px; |
| height: 48px; |
| } |
| |
| .floating-action-btn svg { |
| width: 18px; |
| height: 18px; |
| } |
| } |
|
|
| @media (max-width: 480px) { |
| .dashboard-content { |
| padding: 20px 16px; |
| } |
| |
| .dashboard-row { |
| padding: 20px 16px; |
| margin-bottom: 24px; |
| } |
| |
| .adv-card { |
| padding: 18px; |
| } |
| |
| .stat-icon-container { |
| width: 44px; |
| height: 44px; |
| } |
| |
| .stat-value-text { |
| font-size: 1.4rem; |
| } |
| |
| .stat-title-text { |
| font-size: 0.75rem; |
| } |
| |
| .stat-change { |
| position: relative; |
| margin-top: 8px; |
| align-self: flex-start; |
| } |
| } |
|
|
| .floating-actions { |
| position: fixed; |
| right: 32px; |
| bottom: 32px; |
| display: flex; |
| flex-direction: column; |
| gap: 16px; |
| z-index: 1000; |
| } |
|
|
| .floating-action-btn { |
| width: 56px; |
| height: 56px; |
| border-radius: 50%; |
| border: none; |
| color: #fff; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| cursor: pointer; |
| box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); |
| transition: all 0.3s ease; |
| backdrop-filter: blur(15px); |
| border: 2px solid rgba(255, 255, 255, 0.2); |
| } |
|
|
| .floating-action-btn:hover { |
| box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3); |
| border-color: rgba(255, 255, 255, 0.3); |
| } |
|
|
| .floating-action-btn:active { |
| transform: scale(0.95); |
| } |
|
|
| @media (max-width: 768px) { |
| .floating-actions { |
| right: 20px; |
| bottom: 20px; |
| } |
| |
| .floating-action-btn { |
| width: 48px; |
| height: 48px; |
| } |
| |
| .floating-action-btn svg { |
| width: 18px; |
| height: 18px; |
| } |
| } |
|
|
| .loading-progress-indicator { |
| position: fixed; |
| top: 80px; |
| left: 50%; |
| transform: translateX(-50%); |
| z-index: 1000; |
| padding: 16px 24px; |
| border-radius: 16px; |
| background: rgba(12, 67, 101, 0.95); |
| backdrop-filter: blur(20px); |
| border: 1px solid rgba(255, 255, 255, 0.2); |
| box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); |
| color: white; |
| } |
|
|
| .loading-progress-content { |
| display: flex; |
| align-items: center; |
| gap: 16px; |
| min-width: 300px; |
| } |
|
|
| .loading-progress-content svg { |
| color: #667eea; |
| animation: spin 1s linear infinite; |
| } |
|
|
| .loading-progress-text { |
| font-size: 14px; |
| font-weight: 600; |
| margin-bottom: 8px; |
| color: #ffffff; |
| } |
|
|
| .loading-progress-bar { |
| width: 200px; |
| height: 6px; |
| background: rgba(255, 255, 255, 0.1); |
| border-radius: 3px; |
| overflow: hidden; |
| } |
|
|
| .loading-progress-fill { |
| height: 100%; |
| background: linear-gradient(90deg, #667eea, #764ba2); |
| border-radius: 3px; |
| transition: width 0.3s ease; |
| } |
|
|
| @keyframes spin { |
| from { transform: rotate(0deg); } |
| to { transform: rotate(360deg); } |
| } |
|
|