/* Import Angular Material theme */ @import '@angular/material/prebuilt-themes/indigo-pink.css'; /* CSS Variables for Color Palette */ :root { --primary-red: #c80000; --dark-gray: #1a1a1a; --medium-gray: #2e2e2e; --white: #ffffff; --light-gray: #b0b0b0; --accent-green: #00cc66; --yellow-orange: #ffaa00; --red: #ff4444; } /* Global Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Roboto', 'Helvetica Neue', sans-serif; background-color: var(--dark-gray); color: var(--white); line-height: 1.5; font-size: 14px; overflow-x: hidden; } /* Material Design Overrides */ .mat-mdc-snack-bar-container { background-color: var(--medium-gray) !important; color: var(--white) !important; border-radius: 8px !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important; } .mat-mdc-snack-bar-container .mdc-snackbar__surface { background-color: var(--medium-gray) !important; color: var(--white) !important; } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: var(--dark-gray); } ::-webkit-scrollbar-thumb { background: var(--medium-gray); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--light-gray); } /* Ensure mat-icon elements are visible */ mat-icon { display: inline-block !important; visibility: visible !important; opacity: 1 !important; } /* Compact spacing for better UX */ html { font-size: 14px; } body { font-size: 0.875rem; line-height: 1.4; } /* Reduce default margins and paddings */ h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 600; line-height: 1.2; } h1 { font-size: 1.5rem; } h2 { font-size: 1.375rem; } h3 { font-size: 1.25rem; } h4 { font-size: 1.125rem; } h5 { font-size: 1rem; } h6 { font-size: 0.875rem; } p { margin: 0; line-height: 1.4; } /* Compact button styles */ button { font-size: 0.875rem; padding: 0.5rem 1rem; border-radius: 4px; border: none; cursor: pointer; transition: all 0.2s ease; } button:hover { transform: translateY(-1px); } /* Compact form styles */ input, select, textarea { font-size: 0.875rem; padding: 0.5rem 0.75rem; border-radius: 4px; border: 1px solid rgba(255, 255, 255, 0.2); background-color: rgba(255, 255, 255, 0.05); color: var(--white); transition: all 0.2s ease; } input:focus, select:focus, textarea:focus { outline: none; border-color: var(--primary-red); background-color: rgba(255, 255, 255, 0.08); } /* Compact card styles */ .card { background-color: var(--medium-gray); border-radius: 8px; padding: 1rem; margin-bottom: 0.75rem; border: 1px solid rgba(255, 255, 255, 0.1); } /* Compact table styles */ table { width: 100%; border-collapse: collapse; font-size: 0.875rem; } th, td { padding: 0.5rem 0.75rem; text-align: left; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } th { background-color: rgba(0, 0, 0, 0.2); font-weight: 600; color: var(--white); } /* Compact list styles */ ul, ol { list-style: none; padding: 0; margin: 0; } li { padding: 0.25rem 0; } /* Compact spacing utilities */ .m-0 { margin: 0 !important; } .m-1 { margin: 0.25rem !important; } .m-2 { margin: 0.5rem !important; } .m-3 { margin: 0.75rem !important; } .m-4 { margin: 1rem !important; } .p-0 { padding: 0 !important; } .p-1 { padding: 0.25rem !important; } .p-2 { padding: 0.5rem !important; } .p-3 { padding: 0.75rem !important; } .p-4 { padding: 1rem !important; } /* Compact grid system */ .grid { display: grid; gap: 0.75rem; } .grid-2 { grid-template-columns: repeat(2, 1fr); } .grid-3 { grid-template-columns: repeat(3, 1fr); } .grid-4 { grid-template-columns: repeat(4, 1fr); } /* Compact flex utilities */ .flex { display: flex; } .flex-col { flex-direction: column; } .items-center { align-items: center; } .justify-between { justify-content: space-between; } .gap-1 { gap: 0.25rem; } .gap-2 { gap: 0.5rem; } .gap-3 { gap: 0.75rem; } .gap-4 { gap: 1rem; } /* Responsive utilities */ @media (max-width: 768px) { html { font-size: 13px; } .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } .card { padding: 0.75rem; } th, td { padding: 0.375rem 0.5rem; font-size: 0.8125rem; } } @media (max-width: 480px) { html { font-size: 12px; } .card { padding: 0.5rem; } th, td { padding: 0.25rem 0.375rem; font-size: 0.75rem; } button { padding: 0.375rem 0.75rem; font-size: 0.8125rem; } input, select, textarea { padding: 0.375rem 0.5rem; font-size: 0.8125rem; } } /* Compact animations */ .fade-in { animation: fadeIn 0.3s ease; } .slide-up { animation: slideUp 0.3s ease; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Compact focus styles */ *:focus { outline: 2px solid var(--primary-red); outline-offset: 2px; } /* Compact selection styles */ ::selection { background-color: var(--primary-red); color: var(--white); } /* Compact print styles */ @media print { * { background: white !important; color: black !important; } .no-print { display: none !important; } }