/* ============================================================================ TV_APP - Base Styles & Global Reset Shared across all templates ============================================================================ */ /* Reset & Global Styles */ * { box-sizing: border-box; margin: 0; padding: 0; } html, body { margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; font-size: 16px; line-height: 1.6; background: #f5f5f5; color: #333; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* ============================================================================ CSS Variables - Color Palette & Utilities ============================================================================ */ :root { /* Colors */ --primary: #28a745; --secondary: #6c757d; --success: #28a745; --danger: #dc3545; --warning: #ffc107; --info: #17a2b8; /* Grays */ --white: #ffffff; --light: #f8f9fa; --lighter: #e9ecef; --border: #dee2e6; --text: #333333; --text-muted: #666666; /* Spacing */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; /* Transitions */ --transition-fast: 0.15s ease; --transition-normal: 0.2s ease; --transition-slow: 0.3s ease; /* Border Radius */ --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; /* Shadows */ --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1); --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1); --shadow-lg: 0 6px 20px rgba(0, 0, 0, 0.15); --shadow-xl: 0 8px 30px rgba(0, 0, 0, 0.2); /* Z-Index Scale */ --z-dropdown: 100; --z-sticky: 200; --z-fixed: 300; --z-modal-backdrop: 400; --z-modal: 500; --z-popover: 600; --z-tooltip: 700; } /* ============================================================================ Typography ============================================================================ */ h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.3; margin-bottom: var(--spacing-md); color: var(--text); } h1 { font-size: 2rem; } h2 { font-size: 1.75rem; } h3 { font-size: 1.5rem; } h4 { font-size: 1.25rem; } h5 { font-size: 1.1rem; } h6 { font-size: 1rem; } p { margin-bottom: var(--spacing-md); } a { color: var(--primary); text-decoration: none; transition: color var(--transition-normal); } a:hover { color: #1e7e34; text-decoration: underline; } /* ============================================================================ Utility Classes ============================================================================ */ /* Display */ .hidden { display: none !important; } .invisible { visibility: hidden !important; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } /* Flex & Grid */ .flex { display: flex; } .grid { display: grid; } /* Spacing */ .mt-0 { margin-top: 0; } .mt-1 { margin-top: var(--spacing-xs); } .mt-2 { margin-top: var(--spacing-sm); } .mt-3 { margin-top: var(--spacing-md); } .mt-4 { margin-top: var(--spacing-lg); } .mb-0 { margin-bottom: 0; } .mb-1 { margin-bottom: var(--spacing-xs); } .mb-2 { margin-bottom: var(--spacing-sm); } .mb-3 { margin-bottom: var(--spacing-md); } .mb-4 { margin-bottom: var(--spacing-lg); } .p-1 { padding: var(--spacing-xs); } .p-2 { padding: var(--spacing-sm); } .p-3 { padding: var(--spacing-md); } .p-4 { padding: var(--spacing-lg); } /* Text Alignment */ .text-left { text-align: left; } .text-center { text-align: center; } .text-right { text-align: right; } /* Text Colors */ .text-muted { color: var(--text-muted); } .text-primary { color: var(--primary); } .text-success { color: var(--success); } .text-danger { color: var(--danger); } .text-warning { color: var(--warning); } /* ============================================================================ Shadow Utilities ============================================================================ */ .shadow-sm { box-shadow: var(--shadow-sm); } .shadow { box-shadow: var(--shadow-md); } .shadow-lg { box-shadow: var(--shadow-lg); } .shadow-xl { box-shadow: var(--shadow-xl); } /* ============================================================================ Border Radius Utilities ============================================================================ */ .rounded-sm { border-radius: var(--radius-sm); } .rounded { border-radius: var(--radius-md); } .rounded-lg { border-radius: var(--radius-lg); } .rounded-full { border-radius: 9999px; } /* ============================================================================ Container ============================================================================ */ .container { width: 100%; margin-left: auto; margin-right: auto; margin-top: 15px; padding-left: 20px; padding-right: 20px; } @media (min-width: 768px) { .container { max-width: 750px; } } @media (min-width: 992px) { .container { max-width: 970px; } } @media (min-width: 1200px) { .container { max-width: 1170px; } } /* ============================================================================ Scrollbar Styling ============================================================================ */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: var(--lighter); } ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--text-muted); } /* ============================================================================ Selection ============================================================================ */ ::selection { background: var(--primary); color: white; } ::-moz-selection { background: var(--primary); color: white; }