| |
|
|
| |
| @import './variables.css'; |
| @import './base.css'; |
| @import './typography.css'; |
| @import './responsive.css'; |
|
|
| |
| @import './components/buttons.css'; |
| @import './components/cards.css'; |
| @import './components/forms.css'; |
| @import './components/navigation.css'; |
| @import './components/header.css'; |
| @import './components/sidebar.css'; |
| @import './components/modal.css'; |
| @import './components/table.css'; |
| @import './components/grid.css'; |
| @import './components/utilities.css'; |
| @import './components/linkedin.css'; |
| @import './components/keyword-analysis.css'; |
|
|
| |
| @import './responsive/mobile-nav.css'; |
|
|
| |
| .App { |
| min-height: 100vh; |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| |
| .main-container { |
| display: flex; |
| flex: 1; |
| min-height: calc(100vh - 4rem); |
| margin-top: 4rem; |
| margin-left: 250px; |
| transition: margin-left var(--transition-slow); |
| } |
|
|
| .main-container.sidebar-collapsed { |
| margin-left: 104px; |
| } |
|
|
| |
| * { |
| box-sizing: border-box; |
| } |
|
|
| |
| .content-text, |
| .post-text, |
| .text-content, |
| .post-content, |
| .generated-content { |
| white-space: pre-wrap !important; |
| word-wrap: break-word !important; |
| overflow-wrap: break-word !important; |
| line-height: 1.6 !important; |
| } |
|
|
| |
| .content-text p, |
| .post-text p, |
| .text-content p, |
| .post-content p, |
| .generated-content p { |
| margin: 0 0 1rem 0 !important; |
| } |
|
|
| .content-text p:last-child, |
| .post-text p:last-child, |
| .text-content p:last-child, |
| .post-content p:last-child, |
| .generated-content p:last-child { |
| margin-bottom: 0 !important; |
| } |
|
|
| |
| .multi-line-content { |
| white-space: pre-wrap !important; |
| word-wrap: break-word !important; |
| overflow-wrap: break-word !important; |
| line-height: 1.6 !important; |
| margin-bottom: 1rem !important; |
| } |
|
|
| |
| @media (max-width: 1023px) { |
| .main-container { |
| margin-left: 0; |
| } |
| |
| .main-container.sidebar-collapsed { |
| margin-left: 0; |
| } |
| } |
|
|
| .content { |
| flex: 1; |
| padding: var(--spacing-6); |
| overflow-y: auto; |
| width: 100%; |
| } |
|
|
| |
| .loading { |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| min-height: 200px; |
| font-size: var(--font-size-lg); |
| color: var(--color-secondary-600); |
| } |
|
|
| |
| .error { |
| background: var(--color-error-50); |
| border: 1px solid var(--color-error-200); |
| color: var(--color-error-700); |
| padding: var(--spacing-4); |
| border-radius: var(--radius); |
| margin: var(--spacing-4) 0; |
| } |
|
|
| |
| @keyframes fadeIn { |
| from { opacity: 0; } |
| to { opacity: 1; } |
| } |
|
|
| @keyframes slideUp { |
| from { |
| opacity: 0; |
| transform: translateY(20px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| @keyframes slideDown { |
| from { |
| opacity: 0; |
| transform: translateY(-20px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| @keyframes pulse { |
| 0%, 100% { opacity: 1; } |
| 50% { opacity: 0.5; } |
| } |
|
|
| @keyframes spin { |
| from { transform: rotate(0deg); } |
| to { transform: rotate(360deg); } |
| } |
|
|
| .animate-fade-in { |
| animation: fadeIn 0.3s ease-in-out; |
| } |
|
|
| .animate-slide-up { |
| animation: slideUp 0.5s ease-out; |
| } |
|
|
| .animate-slide-down { |
| animation: slideDown 0.3s ease-out; |
| } |
|
|
| .animate-pulse { |
| animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; |
| } |
|
|
| .animate-spin { |
| animation: spin 1s linear infinite; |
| } |
|
|
| |
| @media (max-width: 767px) { |
| .main-container { |
| flex-direction: column; |
| margin-left: 0; |
| } |
| |
| .main-container.sidebar-collapsed { |
| margin-left: 0; |
| } |
| |
| .content { |
| padding: var(--spacing-4); |
| } |
| |
| .sidebar { |
| position: fixed; |
| top: 4rem; |
| left: 0; |
| height: calc(100vh - 4rem); |
| transform: translateX(-100%); |
| transition: transform var(--transition-slow); |
| z-index: var(--z-50); |
| } |
| |
| .sidebar.active { |
| transform: translateX(0); |
| } |
| |
| .sidebar-overlay { |
| position: fixed; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100vh; |
| background: rgba(0, 0, 0, 0.5); |
| z-index: var(--z-40); |
| display: none; |
| } |
| |
| .sidebar-overlay.active { |
| display: block; |
| } |
| } |
|
|
| |
| @media print { |
| .no-print { |
| display: none !important; |
| } |
| |
| .main-container { |
| display: block; |
| } |
| |
| .sidebar { |
| display: none; |
| } |
| |
| .content { |
| padding: 0; |
| } |
| } |
|
|
| |
| @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { |
| .sharp { |
| -webkit-font-smoothing: antialiased; |
| -moz-osx-font-smoothing: grayscale; |
| } |
| } |
|
|
| |
| @media (prefers-color-scheme: dark) { |
| .dark-mode { |
| --color-primary-50: #6B0021; |
| --color-primary-100: #910029; |
| --color-primary-200: #CC4444; |
| --color-primary-300: #E65555; |
| --color-primary-400: #FF6666; |
| --color-primary-500: #FF8080; |
| --color-primary-600: #FF9999; |
| --color-primary-700: #FFB3B3; |
| --color-primary-800: #FFCCCC; |
| --color-primary-900: #FFE4E4; |
| --color-primary-950: #FFF5F5; |
| |
| --color-secondary-50: #1A1E22; |
| --color-secondary-100: #39404B; |
| --color-secondary-200: #212529; |
| --color-secondary-300: #343A40; |
| --color-secondary-400: #495057; |
| --color-secondary-500: #6C757D; |
| --color-secondary-600: #ADB5BD; |
| --color-secondary-700: #CED4DA; |
| --color-secondary-800: #DEE2E6; |
| --color-secondary-900: #E9ECEF; |
| --color-secondary-950: #F8F9FA; |
| |
| --color-accent-50: #020617; |
| --color-accent-100: #0F172A; |
| --color-accent-200: #1E293B; |
| --color-accent-300: #334155; |
| --color-accent-400: #475569; |
| --color-accent-500: #64748B; |
| --color-accent-600: #94A3B8; |
| --color-accent-700: #CBD5E1; |
| --color-accent-800: #E2E8F0; |
| --color-accent-900: #F1F5F9; |
| --color-accent-950: #F8FAFC; |
| |
| background: var(--color-secondary-950); |
| color: var(--color-secondary-100); |
| } |
| } |
|
|
| |
| ::-webkit-scrollbar { |
| width: 8px; |
| height: 8px; |
| } |
|
|
| ::-webkit-scrollbar-track { |
| background: var(--color-accent-100); |
| border-radius: var(--radius); |
| } |
|
|
| ::-webkit-scrollbar-thumb { |
| background: var(--color-secondary-400); |
| border-radius: var(--radius); |
| } |
|
|
| ::-webkit-scrollbar-thumb:hover { |
| background: var(--color-secondary-500); |
| } |
|
|
| |
| .focus-visible { |
| outline: 2px solid var(--color-primary-500); |
| outline-offset: 2px; |
| } |
|
|
| |
| .skip-link { |
| position: absolute; |
| top: -40px; |
| left: 0; |
| background: var(--color-primary-600); |
| color: white; |
| padding: 8px; |
| text-decoration: none; |
| border-radius: var(--radius); |
| z-index: var(--z-50); |
| font-weight: var(--font-weight-medium); |
| } |
|
|
| .skip-link:focus { |
| top: 0; |
| } |
|
|
| |
| @media (prefers-reduced-motion: reduce) { |
| * { |
| animation-duration: 0.01ms !important; |
| animation-iteration-count: 1 !important; |
| transition-duration: 0.01ms !important; |
| } |
| } |
|
|
| |
| @media (prefers-contrast: high) { |
| * { |
| border-width: 2px; |
| } |
| |
| .btn { |
| border: 2px solid currentColor; |
| } |
| } |
|
|
| |
| @media (max-width: 767px) { |
| .mobile-optimized { |
| -webkit-tap-highlight-color: transparent; |
| touch-action: manipulation; |
| } |
| |
| .mobile-optimized:active { |
| transform: scale(0.98); |
| } |
| |
| |
| .mobile-menu-content { |
| -webkit-overflow-scrolling: touch; |
| } |
| |
| .mobile-menu-content::-webkit-scrollbar { |
| display: none; |
| } |
| } |
|
|
| |
| @media (max-width: 767px) { |
| .will-change-transform { |
| will-change: transform; |
| } |
| |
| .backface-hidden { |
| backface-visibility: hidden; |
| } |
| |
| .transform-3d { |
| transform: translateZ(0); |
| } |
| } |