/* * VoidAuth Catppuccin Mocha Blue
 * Optimized for Angular Material
 */

:root {
  /* Catppuccin Mocha Palette */
  --mocha-base: #1e1e2e;
  --mocha-mantle: #181825;
  --mocha-crust: #11111b;
  --mocha-text: #cdd6f4;
  --mocha-subtext: #a6adc8;
  --mocha-blue: #89b4fa;
  --mocha-lavender: #b4befe;
  --mocha-surface0: #313244;
  --mocha-surface1: #45475a;
  --mocha-surface2: #585b70;
  
  /* Overriding Angular Material Global Tokens */
  --mat-app-background-color: var(--mocha-base);
  --mat-sys-background: var(--mocha-base);
  --mat-sys-on-background: var(--mocha-text);
  
  /* Primary Palette Overrides */
  --mat-sys-primary: var(--mocha-blue);
  --mat-sys-on-primary: var(--mocha-crust);
  --mat-sys-primary-container: var(--mocha-surface1);
  --mat-sys-on-primary-container: var(--mocha-blue);
}

/* Force global background */
body, .mat-app-background {
  background-color: var(--mocha-base) !important;
  color: var(--mocha-text) !important;
}

/* Material Cards */
.mat-mdc-card {
  background-color: var(--mocha-mantle) !important;
  border: 1px solid var(--mocha-surface1) !important;
}

.mat-mdc-card-title {
  color: var(--mocha-blue) !important;
}

/* Inputs & Form Fields */
.mdc-text-field--filled:not(.mdc-text-field--disabled) {
  background-color: var(--mocha-surface0) !important;
}

.mdc-floating-label, .mat-mdc-form-field-label {
  color: var(--mocha-subtext) !important;
}

/* Buttons */
.mat-mdc-raised-button.mat-primary, 
.mat-mdc-unelevated-button.mat-primary {
  --mdc-filled-button-container-color: var(--mocha-blue) !important;
  --mdc-filled-button-label-text-color: var(--mocha-crust) !important;
}

/* Sidebar/Nav items */
.mat-nav-list .mat-mdc-list-item {
  color: var(--mocha-subtext) !important;
}

.mat-nav-list .mat-mdc-list-item:hover {
  background-color: var(--mocha-surface0) !important;
  color: var(--mocha-blue) !important;
}

/* Custom Scrollbar for the Mocha aesthetic */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--mocha-crust);
}
::-webkit-scrollbar-thumb {
  background: var(--mocha-surface2);
  border-radius: 4px;
}

/* --- Structural Components --- */

/* Toolbar / App Header */
.mat-toolbar, .mat-mdc-toolbar {
    background-color: var(--mocha-mantle) !important;
    color: var(--mocha-blue) !important;
    border-bottom: 1px solid var(--mocha-surface1);
}

/* Sidenav / Drawer */
.mat-drawer, .mat-sidenav {
    background-color: var(--mocha-crust) !important;
    color: var(--mocha-text) !important;
    border-right: 1px solid var(--mocha-surface1) !important;
}

/* Nav List Items */
.mat-mdc-nav-list .mat-mdc-list-item {
    color: var(--mocha-subtext) !important;
}

.mat-mdc-list-item.active, 
.mat-mdc-list-item:hover {
    background-color: var(--mocha-surface0) !important;
    --mdc-list-list-item-label-text-color: var(--mocha-blue) !important;
}

/* --- Content Containers --- */

/* Expansion Panels (Accordions) */
.mat-expansion-panel {
    background-color: var(--mocha-mantle) !important;
    color: var(--mocha-text) !important;
    border: 1px solid var(--mocha-surface1) !important;
    margin-bottom: 8px !important;
}

.mat-expansion-panel-header-title, 
.mat-expansion-panel-header-description {
    color: var(--mocha-blue) !important;
}

.mat-expansion-panel-content {
    color: var(--mocha-subtext) !important;
}

/* --- Data Components --- */

/* Tables */
.mat-mdc-table {
    background-color: var(--mocha-mantle) !important;
}

.mat-mdc-header-row {
    background-color: var(--mocha-surface0) !important;
}

.mat-mdc-header-cell {
    color: var(--mocha-lavender) !important;
    font-weight: bold !important;
    border-bottom: 2px solid var(--mocha-surface1) !important;
}

.mat-mdc-cell, .mat-mdc-row {
    color: var(--mocha-text) !important;
    border-bottom: 1px solid var(--mocha-surface1) !important;
}

/* Row Hover Effect */
.mat-mdc-row:hover {
    background-color: var(--mocha-surface1) !important;
}

/* --- Global Overrides for Popups/Menus --- */
.mat-mdc-menu-panel, .mat-mdc-dialog-container {
    background-color: var(--mocha-mantle) !important;
    border: 1px solid var(--mocha-surface2) !important;
}

/* --- Paginator --- */

.mat-mdc-paginator {
    background-color: var(--mocha-mantle) !important;
    color: var(--mocha-subtext) !important;
}

/* Paginator Text and Labels */
.mat-mdc-paginator-page-size-label,
.mat-mdc-paginator-range-label {
    color: var(--mocha-subtext) !important;
}

/* The "Items per page" Dropdown */
.mat-mdc-paginator .mat-mdc-select-value,
.mat-mdc-paginator .mat-mdc-select-arrow {
    color: var(--mocha-blue) !important;
}

/* Navigation Buttons (Arrows) */
.mat-mdc-paginator-navigation-next,
.mat-mdc-paginator-navigation-previous,
.mat-mdc-paginator-navigation-first,
.mat-mdc-paginator-navigation-last {
    color: var(--mocha-blue) !important;
}

/* Disabled state for arrows */
.mat-mdc-button-base:disabled {
    color: var(--mocha-surface2) !important;
}

/* Tooltip/Hover effect on paginator buttons */
.mat-mdc-icon-button[disabled] {
    background-color: transparent !important;
}

/* Fix for the underlying select form field in paginator */
.mat-mdc-paginator .mat-mdc-form-field-focus-indicator {
    background: var(--mocha-surface1) !important;
}