@charset "UTF-8";

/* node_modules/@angular/material/prebuilt-themes/azure-blue.css */
html {
  --mat-sys-background: #faf9fd;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #f2f0f4;
  --mat-sys-inverse-primary: #abc7ff;
  --mat-sys-inverse-surface: #2f3033;
  --mat-sys-on-background: #1a1b1f;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #00458f;
  --mat-sys-on-primary-fixed: #001b3f;
  --mat-sys-on-primary-fixed-variant: #00458f;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #3e4759;
  --mat-sys-on-secondary-fixed: #131c2b;
  --mat-sys-on-secondary-fixed-variant: #3e4759;
  --mat-sys-on-surface: #1a1b1f;
  --mat-sys-on-surface-variant: #44474e;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #0000ef;
  --mat-sys-on-tertiary-fixed: #00006e;
  --mat-sys-on-tertiary-fixed-variant: #0000ef;
  --mat-sys-outline: #74777f;
  --mat-sys-outline-variant: #c4c6d0;
  --mat-sys-primary: #005cbb;
  --mat-sys-primary-container: #d7e3ff;
  --mat-sys-primary-fixed: #d7e3ff;
  --mat-sys-primary-fixed-dim: #abc7ff;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #565e71;
  --mat-sys-secondary-container: #dae2f9;
  --mat-sys-secondary-fixed: #dae2f9;
  --mat-sys-secondary-fixed-dim: #bec6dc;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #faf9fd;
  --mat-sys-surface-bright: #faf9fd;
  --mat-sys-surface-container: #efedf0;
  --mat-sys-surface-container-high: #e9e7eb;
  --mat-sys-surface-container-highest: #e3e2e6;
  --mat-sys-surface-container-low: #f4f3f6;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #dbd9dd;
  --mat-sys-surface-tint: #005cbb;
  --mat-sys-surface-variant: #e0e2ec;
  --mat-sys-tertiary: #343dff;
  --mat-sys-tertiary-container: #e0e0ff;
  --mat-sys-tertiary-fixed: #e0e0ff;
  --mat-sys-tertiary-fixed-dim: #bec2ff;
  --mat-sys-neutral-variant20: #2d3038;
  --mat-sys-neutral10: #1a1b1f;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-body-large: 400 1rem / 1.5rem Roboto;
  --mat-sys-body-large-font: Roboto;
  --mat-sys-body-large-line-height: 1.5rem;
  --mat-sys-body-large-size: 1rem;
  --mat-sys-body-large-tracking: 0.031rem;
  --mat-sys-body-large-weight: 400;
  --mat-sys-body-medium: 400 0.875rem / 1.25rem Roboto;
  --mat-sys-body-medium-font: Roboto;
  --mat-sys-body-medium-line-height: 1.25rem;
  --mat-sys-body-medium-size: 0.875rem;
  --mat-sys-body-medium-tracking: 0.016rem;
  --mat-sys-body-medium-weight: 400;
  --mat-sys-body-small: 400 0.75rem / 1rem Roboto;
  --mat-sys-body-small-font: Roboto;
  --mat-sys-body-small-line-height: 1rem;
  --mat-sys-body-small-size: 0.75rem;
  --mat-sys-body-small-tracking: 0.025rem;
  --mat-sys-body-small-weight: 400;
  --mat-sys-display-large: 400 3.562rem / 4rem Roboto;
  --mat-sys-display-large-font: Roboto;
  --mat-sys-display-large-line-height: 4rem;
  --mat-sys-display-large-size: 3.562rem;
  --mat-sys-display-large-tracking: -0.016rem;
  --mat-sys-display-large-weight: 400;
  --mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;
  --mat-sys-display-medium-font: Roboto;
  --mat-sys-display-medium-line-height: 3.25rem;
  --mat-sys-display-medium-size: 2.812rem;
  --mat-sys-display-medium-tracking: 0;
  --mat-sys-display-medium-weight: 400;
  --mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;
  --mat-sys-display-small-font: Roboto;
  --mat-sys-display-small-line-height: 2.75rem;
  --mat-sys-display-small-size: 2.25rem;
  --mat-sys-display-small-tracking: 0;
  --mat-sys-display-small-weight: 400;
  --mat-sys-headline-large: 400 2rem / 2.5rem Roboto;
  --mat-sys-headline-large-font: Roboto;
  --mat-sys-headline-large-line-height: 2.5rem;
  --mat-sys-headline-large-size: 2rem;
  --mat-sys-headline-large-tracking: 0;
  --mat-sys-headline-large-weight: 400;
  --mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;
  --mat-sys-headline-medium-font: Roboto;
  --mat-sys-headline-medium-line-height: 2.25rem;
  --mat-sys-headline-medium-size: 1.75rem;
  --mat-sys-headline-medium-tracking: 0;
  --mat-sys-headline-medium-weight: 400;
  --mat-sys-headline-small: 400 1.5rem / 2rem Roboto;
  --mat-sys-headline-small-font: Roboto;
  --mat-sys-headline-small-line-height: 2rem;
  --mat-sys-headline-small-size: 1.5rem;
  --mat-sys-headline-small-tracking: 0;
  --mat-sys-headline-small-weight: 400;
  --mat-sys-label-large: 500 0.875rem / 1.25rem Roboto;
  --mat-sys-label-large-font: Roboto;
  --mat-sys-label-large-line-height: 1.25rem;
  --mat-sys-label-large-size: 0.875rem;
  --mat-sys-label-large-tracking: 0.006rem;
  --mat-sys-label-large-weight: 500;
  --mat-sys-label-large-weight-prominent: 700;
  --mat-sys-label-medium: 500 0.75rem / 1rem Roboto;
  --mat-sys-label-medium-font: Roboto;
  --mat-sys-label-medium-line-height: 1rem;
  --mat-sys-label-medium-size: 0.75rem;
  --mat-sys-label-medium-tracking: 0.031rem;
  --mat-sys-label-medium-weight: 500;
  --mat-sys-label-medium-weight-prominent: 700;
  --mat-sys-label-small: 500 0.688rem / 1rem Roboto;
  --mat-sys-label-small-font: Roboto;
  --mat-sys-label-small-line-height: 1rem;
  --mat-sys-label-small-size: 0.688rem;
  --mat-sys-label-small-tracking: 0.031rem;
  --mat-sys-label-small-weight: 500;
  --mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;
  --mat-sys-title-large-font: Roboto;
  --mat-sys-title-large-line-height: 1.75rem;
  --mat-sys-title-large-size: 1.375rem;
  --mat-sys-title-large-tracking: 0;
  --mat-sys-title-large-weight: 400;
  --mat-sys-title-medium: 500 1rem / 1.5rem Roboto;
  --mat-sys-title-medium-font: Roboto;
  --mat-sys-title-medium-line-height: 1.5rem;
  --mat-sys-title-medium-size: 1rem;
  --mat-sys-title-medium-tracking: 0.009rem;
  --mat-sys-title-medium-weight: 500;
  --mat-sys-title-small: 500 0.875rem / 1.25rem Roboto;
  --mat-sys-title-small-font: Roboto;
  --mat-sys-title-small-line-height: 1.25rem;
  --mat-sys-title-small-size: 0.875rem;
  --mat-sys-title-small-tracking: 0.006rem;
  --mat-sys-title-small-weight: 500;
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px;
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;
}

/* src/styles.scss */
:root {
  color-scheme: dark;
  --solvix-bg: #020617;
  --solvix-surface: #0f172a;
  --solvix-surface-low: #151b2d;
  --solvix-surface-high: #23293c;
  --solvix-surface-elevated: #1a2236;
  --solvix-panel: rgba(15, 23, 42, 0.8);
  --solvix-panel-inset: rgba(2, 6, 23, 0.35);
  --solvix-row-hover: rgba(46, 52, 71, 0.35);
  --solvix-primary: #4fd1ff;
  --solvix-primary-hover: #7ddfff;
  --solvix-secondary: #38bdf8;
  --solvix-neon: #00e5ff;
  --solvix-deep: #003366;
  --solvix-text: #ffffff;
  --solvix-text-secondary: #cfe9ff;
  --solvix-text-muted: #94a3b8;
  --solvix-border: rgba(79, 209, 255, 0.2);
  --solvix-border-subtle: rgba(61, 72, 78, 0.6);
  --solvix-success: #10b981;
  --solvix-warning: #f59e0b;
  --solvix-error: #ffb4ab;
  --solvix-error-bg: #93000a;
  --solvix-info: #38bdf8;
  --solvix-on-primary: #001f29;
  --solvix-primary-soft: rgba(79, 209, 255, 0.12);
  --solvix-success-soft: rgba(16, 185, 129, 0.14);
  --solvix-warning-soft: rgba(245, 158, 11, 0.14);
  --solvix-danger-soft: rgba(147, 0, 10, 0.35);
  --solvix-info-soft: rgba(56, 189, 248, 0.14);
  --solvix-neutral-soft: rgba(148, 163, 184, 0.12);
  --solvix-overlay: rgba(2, 6, 23, 0.82);
  --solvix-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
  --solvix-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --solvix-glow: 0 0 12px rgba(79, 209, 255, 0.3);
  --solvix-scrollbar-track: transparent;
  --solvix-scrollbar-thumb: rgba(148, 163, 184, 0.32);
  --solvix-scrollbar-thumb-hover: rgba(79, 209, 255, 0.28);
  --solvix-topbar-bg: rgba(15, 23, 42, 0.88);
  --solvix-snack-surface-from: rgba(15, 23, 42, 0.98);
  --solvix-snack-surface-to: rgba(2, 6, 23, 0.96);
  --solvix-select-panel-bg: rgba(10, 20, 35, 0.94);
  --solvix-btn-tech-primary-bg: #dce1fb;
  --solvix-btn-tech-primary-fg: #0c1324;
  --solvix-btn-tech-primary-hover: #ffffff;
  --solvix-btn-tech-secondary-bg: #2e3447;
  --solvix-btn-tech-secondary-fg: #dce1fb;
  --solvix-btn-tech-secondary-hover: #33394c;
  --solvix-btn-tech-tertiary-fg: #94a3b8;
  --solvix-btn-tech-tertiary-hover: #dce1fb;
  --solvix-home-card-bg: rgba(15, 23, 42, 0.62);
  --solvix-home-card-bg-solid: #151b2d;
  --solvix-home-card-border: rgba(79, 209, 255, 0.22);
  --solvix-home-card-shadow: 0 0 28px rgba(0, 0, 0, 0.45), inset 0 0 18px rgba(79, 209, 255, 0.05);
  --solvix-home-card-hover-shadow: 0 0 32px rgba(79, 209, 255, 0.28), 0 12px 40px rgba(0, 0, 0, 0.45);
  --solvix-home-separator: rgba(255, 255, 255, 0.08);
  --solvix-home-overlay-from: rgba(2, 6, 23, 0.88);
  --solvix-home-glow-soft: rgba(79, 209, 255, 0.12);
  --solvix-home-glow-mid: rgba(79, 209, 255, 0.22);
  --solvix-home-inset-glow: rgba(79, 209, 255, 0.1);
  --color-bg: var(--solvix-bg);
  --color-surface-1: var(--solvix-surface);
  --color-surface-2: var(--solvix-surface-low);
  --color-surface-elevated: var(--solvix-surface-elevated);
  --color-panel: var(--solvix-panel);
  --color-panel-inset: var(--solvix-panel-inset);
  --color-row-hover: var(--solvix-row-hover);
  --color-text-primary: var(--solvix-text);
  --color-text-secondary: var(--solvix-text-secondary);
  --color-text-muted: var(--solvix-text-muted);
  --color-border: var(--solvix-border);
  --color-border-subtle: var(--solvix-border-subtle);
  --color-primary: var(--solvix-primary);
  --color-primary-hover: var(--solvix-primary-hover);
  --color-primary-soft: var(--solvix-primary-soft);
  --color-success: var(--solvix-success);
  --color-success-soft: var(--solvix-success-soft);
  --color-warning: var(--solvix-warning);
  --color-warning-soft: var(--solvix-warning-soft);
  --color-danger: var(--solvix-error);
  --color-danger-soft: var(--solvix-danger-soft);
  --color-info: var(--solvix-info);
  --color-info-soft: var(--solvix-info-soft);
  --color-focus: var(--solvix-primary);
  --color-overlay: var(--solvix-overlay);
  --color-home-card-bg: var(--solvix-home-card-bg);
  --color-home-card-bg-solid: var(--solvix-home-card-bg-solid);
  --color-home-card-border: var(--solvix-home-card-border);
  --color-home-card-shadow: var(--solvix-home-card-shadow);
  --color-home-card-hover-shadow: var(--solvix-home-card-hover-shadow);
  --color-home-separator: var(--solvix-home-separator);
  --solvix-font:
    "Inter",
    "Geist",
    sans-serif;
  --solvix-font-mono:
    "JetBrains Mono",
    "Inconsolata",
    monospace;
  --solvix-sidebar-width: 16rem;
  --solvix-topbar-height: 4rem;
  --solvix-radius: 0.5rem;
  --solvix-radius-card: 0.75rem;
  --solvix-scrollbar-size: 6px;
}
html[data-theme=dark] {
  color-scheme: dark;
  --solvix-bg: #020617;
  --solvix-surface: #0f172a;
  --solvix-surface-low: #151b2d;
  --solvix-surface-high: #23293c;
  --solvix-surface-elevated: #1a2236;
  --solvix-panel: rgba(15, 23, 42, 0.8);
  --solvix-panel-inset: rgba(2, 6, 23, 0.35);
  --solvix-row-hover: rgba(46, 52, 71, 0.35);
  --solvix-primary: #4fd1ff;
  --solvix-primary-hover: #7ddfff;
  --solvix-secondary: #38bdf8;
  --solvix-neon: #00e5ff;
  --solvix-deep: #003366;
  --solvix-text: #ffffff;
  --solvix-text-secondary: #cfe9ff;
  --solvix-text-muted: #94a3b8;
  --solvix-border: rgba(79, 209, 255, 0.2);
  --solvix-border-subtle: rgba(61, 72, 78, 0.6);
  --solvix-success: #10b981;
  --solvix-warning: #f59e0b;
  --solvix-error: #ffb4ab;
  --solvix-error-bg: #93000a;
  --solvix-info: #38bdf8;
  --solvix-on-primary: #001f29;
  --solvix-primary-soft: rgba(79, 209, 255, 0.12);
  --solvix-success-soft: rgba(16, 185, 129, 0.14);
  --solvix-warning-soft: rgba(245, 158, 11, 0.14);
  --solvix-danger-soft: rgba(147, 0, 10, 0.35);
  --solvix-info-soft: rgba(56, 189, 248, 0.14);
  --solvix-neutral-soft: rgba(148, 163, 184, 0.12);
  --solvix-overlay: rgba(2, 6, 23, 0.82);
  --solvix-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
  --solvix-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --solvix-glow: 0 0 12px rgba(79, 209, 255, 0.3);
  --solvix-scrollbar-track: transparent;
  --solvix-scrollbar-thumb: rgba(148, 163, 184, 0.32);
  --solvix-scrollbar-thumb-hover: rgba(79, 209, 255, 0.28);
  --solvix-topbar-bg: rgba(15, 23, 42, 0.88);
  --solvix-snack-surface-from: rgba(15, 23, 42, 0.98);
  --solvix-snack-surface-to: rgba(2, 6, 23, 0.96);
  --solvix-select-panel-bg: rgba(10, 20, 35, 0.94);
  --solvix-btn-tech-primary-bg: #dce1fb;
  --solvix-btn-tech-primary-fg: #0c1324;
  --solvix-btn-tech-primary-hover: #ffffff;
  --solvix-btn-tech-secondary-bg: #2e3447;
  --solvix-btn-tech-secondary-fg: #dce1fb;
  --solvix-btn-tech-secondary-hover: #33394c;
  --solvix-btn-tech-tertiary-fg: #94a3b8;
  --solvix-btn-tech-tertiary-hover: #dce1fb;
  --solvix-home-card-bg: rgba(15, 23, 42, 0.62);
  --solvix-home-card-bg-solid: #151b2d;
  --solvix-home-card-border: rgba(79, 209, 255, 0.22);
  --solvix-home-card-shadow: 0 0 28px rgba(0, 0, 0, 0.45), inset 0 0 18px rgba(79, 209, 255, 0.05);
  --solvix-home-card-hover-shadow: 0 0 32px rgba(79, 209, 255, 0.28), 0 12px 40px rgba(0, 0, 0, 0.45);
  --solvix-home-separator: rgba(255, 255, 255, 0.08);
  --solvix-home-overlay-from: rgba(2, 6, 23, 0.88);
  --solvix-home-glow-soft: rgba(79, 209, 255, 0.12);
  --solvix-home-glow-mid: rgba(79, 209, 255, 0.22);
  --solvix-home-inset-glow: rgba(79, 209, 255, 0.1);
  --color-bg: var(--solvix-bg);
  --color-surface-1: var(--solvix-surface);
  --color-surface-2: var(--solvix-surface-low);
  --color-surface-elevated: var(--solvix-surface-elevated);
  --color-panel: var(--solvix-panel);
  --color-panel-inset: var(--solvix-panel-inset);
  --color-row-hover: var(--solvix-row-hover);
  --color-text-primary: var(--solvix-text);
  --color-text-secondary: var(--solvix-text-secondary);
  --color-text-muted: var(--solvix-text-muted);
  --color-border: var(--solvix-border);
  --color-border-subtle: var(--solvix-border-subtle);
  --color-primary: var(--solvix-primary);
  --color-primary-hover: var(--solvix-primary-hover);
  --color-primary-soft: var(--solvix-primary-soft);
  --color-success: var(--solvix-success);
  --color-success-soft: var(--solvix-success-soft);
  --color-warning: var(--solvix-warning);
  --color-warning-soft: var(--solvix-warning-soft);
  --color-danger: var(--solvix-error);
  --color-danger-soft: var(--solvix-danger-soft);
  --color-info: var(--solvix-info);
  --color-info-soft: var(--solvix-info-soft);
  --color-focus: var(--solvix-primary);
  --color-overlay: var(--solvix-overlay);
  --color-home-card-bg: var(--solvix-home-card-bg);
  --color-home-card-bg-solid: var(--solvix-home-card-bg-solid);
  --color-home-card-border: var(--solvix-home-card-border);
  --color-home-card-shadow: var(--solvix-home-card-shadow);
  --color-home-card-hover-shadow: var(--solvix-home-card-hover-shadow);
  --color-home-separator: var(--solvix-home-separator);
}
html[data-theme=light] {
  color-scheme: light;
  --solvix-bg: #f8fafc;
  --solvix-surface: #ffffff;
  --solvix-surface-low: #f1f5f9;
  --solvix-surface-high: #e2e8f0;
  --solvix-surface-elevated: #ffffff;
  --solvix-panel: #ffffff;
  --solvix-panel-inset: #f8fafc;
  --solvix-row-hover: rgba(248, 250, 252, 0.92);
  --solvix-primary: #0284c7;
  --solvix-primary-hover: #0369a1;
  --solvix-secondary: #0ea5e9;
  --solvix-neon: #0284c7;
  --solvix-deep: #0369a1;
  --solvix-text: #0f172a;
  --solvix-text-secondary: #334155;
  --solvix-text-muted: #64748b;
  --solvix-border: #e2e8f0;
  --solvix-border-subtle: #f1f5f9;
  --solvix-success: #047857;
  --solvix-warning: #d97706;
  --solvix-error: #dc2626;
  --solvix-error-bg: #fee2e2;
  --solvix-info: #0284c7;
  --solvix-on-primary: #ffffff;
  --solvix-primary-soft: #f0f9ff;
  --solvix-success-soft: #ecfdf5;
  --solvix-warning-soft: #fffbeb;
  --solvix-danger-soft: #fef2f2;
  --solvix-info-soft: #f0f9ff;
  --solvix-neutral-soft: #f1f5f9;
  --solvix-overlay: rgba(15, 23, 42, 0.4);
  --solvix-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 8px 24px rgba(15, 23, 42, 0.06);
  --solvix-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --solvix-glow: 0 1px 2px rgba(2, 132, 199, 0.06);
  --solvix-scrollbar-track: #f1f5f9;
  --solvix-scrollbar-thumb: #cbd5e1;
  --solvix-scrollbar-thumb-hover: #94a3b8;
  --solvix-topbar-bg: rgba(255, 255, 255, 0.92);
  --solvix-snack-surface-from: rgba(255, 255, 255, 0.98);
  --solvix-snack-surface-to: rgba(248, 250, 252, 0.98);
  --solvix-select-panel-bg: #ffffff;
  --solvix-btn-tech-primary-bg: #0284c7;
  --solvix-btn-tech-primary-fg: #ffffff;
  --solvix-btn-tech-primary-hover: #0369a1;
  --solvix-btn-tech-secondary-bg: #f8fafc;
  --solvix-btn-tech-secondary-fg: #334155;
  --solvix-btn-tech-secondary-hover: #f1f5f9;
  --solvix-btn-tech-tertiary-fg: #64748b;
  --solvix-btn-tech-tertiary-hover: #0f172a;
  --solvix-home-card-bg: #ffffff;
  --solvix-home-card-bg-solid: #ffffff;
  --solvix-home-card-border: #e2e8f0;
  --solvix-home-card-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 10px 28px rgba(15, 23, 42, 0.06);
  --solvix-home-card-hover-shadow: 0 4px 16px rgba(2, 132, 199, 0.12), 0 12px 32px rgba(15, 23, 42, 0.08);
  --solvix-home-separator: #e2e8f0;
  --solvix-home-overlay-from: rgba(248, 250, 252, 0.94);
  --solvix-home-glow-soft: rgba(2, 132, 199, 0.08);
  --solvix-home-glow-mid: rgba(2, 132, 199, 0.14);
  --solvix-home-inset-glow: rgba(2, 132, 199, 0.06);
  --color-bg: var(--solvix-bg);
  --color-surface-1: var(--solvix-surface);
  --color-surface-2: var(--solvix-surface-low);
  --color-surface-elevated: var(--solvix-surface-elevated);
  --color-panel: var(--solvix-panel);
  --color-panel-inset: var(--solvix-panel-inset);
  --color-row-hover: var(--solvix-row-hover);
  --color-text-primary: var(--solvix-text);
  --color-text-secondary: var(--solvix-text-secondary);
  --color-text-muted: var(--solvix-text-muted);
  --color-border: var(--solvix-border);
  --color-border-subtle: var(--solvix-border-subtle);
  --color-primary: var(--solvix-primary);
  --color-primary-hover: var(--solvix-primary-hover);
  --color-primary-soft: var(--solvix-primary-soft);
  --color-success: var(--solvix-success);
  --color-success-soft: var(--solvix-success-soft);
  --color-warning: var(--solvix-warning);
  --color-warning-soft: var(--solvix-warning-soft);
  --color-danger: var(--solvix-error);
  --color-danger-soft: var(--solvix-danger-soft);
  --color-info: var(--solvix-info);
  --color-info-soft: var(--solvix-info-soft);
  --color-focus: var(--solvix-primary);
  --color-overlay: var(--solvix-overlay);
  --color-home-card-bg: var(--solvix-home-card-bg);
  --color-home-card-bg-solid: var(--solvix-home-card-bg-solid);
  --color-home-card-border: var(--solvix-home-card-border);
  --color-home-card-shadow: var(--solvix-home-card-shadow);
  --color-home-card-hover-shadow: var(--solvix-home-card-hover-shadow);
  --color-home-separator: var(--solvix-home-separator);
}
.material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 24;
  font-size: 1.25rem;
  line-height: 1;
  -webkit-user-select: none;
  user-select: none;
}
.solvix-mono {
  font-family: var(--solvix-font-mono);
  letter-spacing: 0.05em;
}
:root {
  --motion-fast: 140ms;
  --motion-normal: 200ms;
  --motion-slow: 280ms;
  --motion-count: 560ms;
  --motion-chart: 700ms;
  --motion-highlight: 560ms;
  --motion-stagger: 50ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0, 0, 0.2, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
}
@keyframes solvix-page-enter {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes solvix-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes solvix-highlight-pulse {
  0% {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--solvix-primary) 45%, transparent);
  }
  70% {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--solvix-primary) 28%, transparent), 0 8px 24px color-mix(in srgb, var(--solvix-primary) 12%, transparent);
  }
  100% {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--solvix-primary) 22%, transparent);
  }
}
.solvix-context-highlight {
  animation: solvix-highlight-pulse var(--motion-highlight, 560ms) var(--ease-emphasized) both;
  border-color: color-mix(in srgb, var(--solvix-primary) 55%, transparent);
  background-color: color-mix(in srgb, var(--solvix-primary-soft, rgba(79, 209, 255, 0.08)) 70%, transparent);
  transition:
    border-color var(--motion-normal, 200ms) var(--ease-standard),
    background-color var(--motion-normal, 200ms) var(--ease-standard),
    box-shadow var(--motion-normal, 200ms) var(--ease-standard);
}
@keyframes solvix-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes solvix-kpi-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes solvix-phase-flash {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--solvix-primary) 0%, transparent);
  }
  35% {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--solvix-primary) 28%, transparent);
  }
  100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--solvix-primary) 0%, transparent);
  }
}
@keyframes solvix-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}
.admin-shell__content > *:not(router-outlet) {
  animation: solvix-page-enter var(--motion-normal) var(--ease-enter) both;
}
.solvix-card-interactive,
a.solvix-card-interactive,
button.solvix-card-interactive {
  transition:
    transform var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .solvix-card-interactive:hover,
  a.solvix-card-interactive:hover,
  button.solvix-card-interactive:hover {
    transform: translateY(-2px);
    box-shadow: var(--solvix-shadow-sm);
    border-color: var(--color-border, var(--solvix-border));
  }
}
.solvix-card-interactive:active {
  transform: translateY(0);
}
.solvix-table tbody tr,
.venta-table tbody tr,
.svc-table tbody tr,
.producto-table tbody tr,
.prod-table tbody tr,
.compra-table tbody tr,
.cli-table tbody tr,
.inv-table tbody tr,
.cot-table tbody tr,
.dash-table tbody tr {
  transition: background-color var(--motion-fast) var(--ease-standard);
}
.page-btn {
  transition:
    background-color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    color var(--motion-fast) var(--ease-standard),
    opacity var(--motion-fast) var(--ease-standard),
    transform var(--motion-fast) var(--ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .page-btn:hover:not(:disabled) {
    background: var(--color-primary-soft, var(--solvix-primary-soft));
    border-color: var(--color-border, var(--solvix-border));
  }
}
.page-btn:active:not(:disabled) {
  transform: translateY(1px);
}
.icon-btn {
  transition:
    background-color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    color var(--motion-fast) var(--ease-standard),
    opacity var(--motion-fast) var(--ease-standard);
}
.mat-mdc-snack-bar-container.solvix-snack {
  animation: solvix-page-enter var(--motion-normal) var(--ease-enter) both;
}
.solvix-state {
  animation: solvix-page-enter var(--motion-normal) var(--ease-enter) both;
}
.solvix-results-enter,
.resultados {
  animation: solvix-fade-in var(--motion-fast) var(--ease-enter) both;
}
.mat-mdc-dialog-container .mat-mdc-dialog-surface {
  transition:
    opacity var(--motion-normal) var(--ease-enter),
    transform var(--motion-normal) var(--ease-enter),
    background-color var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard);
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-fast: 1ms;
    --motion-normal: 1ms;
    --motion-slow: 1ms;
    --motion-count: 1ms;
    --motion-chart: 1ms;
    --motion-highlight: 1ms;
    --motion-stagger: 0ms;
  }
  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    scroll-behavior: auto !important;
  }
  .admin-shell__content > *:not(router-outlet),
  .solvix-state,
  .resultados,
  .solvix-results-enter,
  .mat-mdc-snack-bar-container.solvix-snack,
  .card-doc.is-nuevo,
  .seccion-body,
  .fila {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .solvix-card-interactive:hover,
  a.solvix-card-interactive:hover,
  button.solvix-card-interactive:hover,
  .page-btn:active:not(:disabled) {
    transform: none !important;
  }
  html {
    scroll-behavior: auto;
  }
}
.btn-cyber-primary,
.btn-cyber-secondary,
.btn-cyber-tertiary,
.btn-cyber-danger,
.btn-glass-primary,
.btn-glass-secondary,
.btn-glass-tertiary,
.btn-glass-danger,
.btn-tech-primary,
.btn-tech-secondary,
.btn-tech-tertiary,
.btn-tech-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 20px;
  font-size: 14px;
  white-space: nowrap;
  border: none;
  text-decoration: none;
  transition:
    background-color var(--motion-fast) var(--ease-standard),
    color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    transform var(--motion-fast) var(--ease-standard),
    opacity var(--motion-fast) var(--ease-standard);
}
.btn-cyber-primary:active,
.btn-cyber-secondary:active,
.btn-cyber-danger:active,
.btn-glass-primary:active,
.btn-glass-secondary:active,
.btn-glass-danger:active,
.btn-tech-primary:active,
.btn-tech-secondary:active,
.btn-tech-danger:active {
  transform: translateY(1px);
}
@media (hover: hover) and (pointer: fine) {
  .btn-tech-primary:hover:not(:disabled):not(.is-loading),
  .btn-tech-secondary:hover:not(:disabled):not(.is-loading),
  .btn-tech-danger:hover:not(:disabled):not(.is-loading),
  .btn-glass-primary:hover:not(:disabled):not(.is-loading),
  .btn-glass-secondary:hover:not(:disabled):not(.is-loading),
  .btn-glass-danger:hover:not(:disabled):not(.is-loading) {
    transform: translateY(-1px);
  }
}
.btn-cyber-primary.is-loading .material-symbols-outlined,
.btn-cyber-secondary.is-loading .material-symbols-outlined,
.btn-cyber-danger.is-loading .material-symbols-outlined,
.btn-glass-primary.is-loading .material-symbols-outlined,
.btn-glass-secondary.is-loading .material-symbols-outlined,
.btn-glass-danger.is-loading .material-symbols-outlined,
.btn-tech-primary.is-loading .material-symbols-outlined,
.btn-tech-secondary.is-loading .material-symbols-outlined,
.btn-tech-danger.is-loading .material-symbols-outlined {
  display: inline-block;
  animation: solvix-spin var(--motion-count, 560ms) linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .btn-cyber-primary.is-loading .material-symbols-outlined,
  .btn-cyber-secondary.is-loading .material-symbols-outlined,
  .btn-cyber-danger.is-loading .material-symbols-outlined,
  .btn-glass-primary.is-loading .material-symbols-outlined,
  .btn-glass-secondary.is-loading .material-symbols-outlined,
  .btn-glass-danger.is-loading .material-symbols-outlined,
  .btn-tech-primary.is-loading .material-symbols-outlined,
  .btn-tech-secondary.is-loading .material-symbols-outlined,
  .btn-tech-danger.is-loading .material-symbols-outlined {
    animation: none;
  }
  .btn-tech-primary:hover:not(:disabled),
  .btn-tech-secondary:hover:not(:disabled),
  .btn-tech-danger:hover:not(:disabled),
  .btn-glass-primary:hover:not(:disabled),
  .btn-glass-secondary:hover:not(:disabled),
  .btn-glass-danger:hover:not(:disabled) {
    transform: none;
  }
}
.btn-cyber-primary:disabled,
.btn-cyber-secondary:disabled,
.btn-cyber-tertiary:disabled,
.btn-cyber-danger:disabled,
.btn-glass-primary:disabled,
.btn-glass-secondary:disabled,
.btn-glass-tertiary:disabled,
.btn-glass-danger:disabled,
.btn-tech-primary:disabled,
.btn-tech-secondary:disabled,
.btn-tech-tertiary:disabled,
.btn-tech-danger:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.btn-cyber-primary,
.btn-cyber-secondary,
.btn-cyber-danger,
.btn-glass-primary,
.btn-glass-secondary,
.btn-glass-danger {
  padding: 12px 24px;
  border-radius: 4px;
}
.btn-glass-primary,
.btn-glass-secondary,
.btn-glass-tertiary,
.btn-glass-danger {
  border-radius: 8px;
}
.btn-tech-primary,
.btn-tech-secondary,
.btn-tech-danger {
  padding: 16px 32px;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}
.btn-cyber-primary {
  background-color: var(--solvix-primary);
  color: var(--solvix-on-primary);
  box-shadow: var(--solvix-glow);
}
.btn-cyber-primary:hover {
  box-shadow: var(--solvix-glow);
  transform: translateY(-1px);
}
.btn-cyber-secondary {
  background-color: transparent;
  color: var(--solvix-primary);
  border: 1px solid var(--solvix-primary);
  box-shadow: inset 0 0 8px color-mix(in srgb, var(--solvix-primary) 20%, transparent), 0 0 8px color-mix(in srgb, var(--solvix-primary) 20%, transparent);
}
.btn-cyber-secondary:hover {
  background-color: var(--solvix-primary-soft);
  box-shadow: inset 0 0 16px color-mix(in srgb, var(--solvix-primary) 35%, transparent), 0 0 16px color-mix(in srgb, var(--solvix-primary) 35%, transparent);
}
.btn-cyber-tertiary {
  padding: 12px 16px;
  background: transparent;
  color: #b2e7ff;
  text-decoration: underline;
  text-decoration-color: rgba(178, 231, 255, 0.3);
  text-underline-offset: 4px;
}
.btn-cyber-tertiary:hover {
  color: #4fd1ff;
  text-decoration-color: #4fd1ff;
  text-shadow: 0 0 8px rgba(79, 209, 255, 0.5);
}
.btn-cyber-danger {
  background-color: transparent;
  color: #ffb4ab;
  border: 1px solid #ffb4ab;
  box-shadow: 0 0 8px rgba(255, 180, 171, 0.2) inset, 0 0 8px rgba(255, 180, 171, 0.2);
}
.btn-cyber-danger:hover {
  background-color: rgba(255, 180, 171, 0.1);
  box-shadow: 0 0 16px rgba(255, 180, 171, 0.4) inset, 0 0 16px rgba(255, 180, 171, 0.4);
}
.btn-glass-primary {
  background: rgba(79, 209, 255, 0.15);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(79, 209, 255, 0.5);
  color: #b2e7ff;
}
.btn-glass-primary:hover {
  background: rgba(79, 209, 255, 0.25);
  border-color: #4fd1ff;
}
.btn-glass-secondary {
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #dce1fb;
}
.btn-glass-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.4);
}
.btn-glass-tertiary {
  padding: 12px 16px;
  background: transparent;
  color: #94a3b8;
}
.btn-glass-tertiary:hover {
  color: #dce1fb;
  background: rgba(255, 255, 255, 0.05);
}
.btn-glass-danger {
  background: rgba(147, 0, 10, 0.15);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 180, 171, 0.5);
  color: #ffb4ab;
}
.btn-glass-danger:hover {
  background: rgba(147, 0, 10, 0.25);
  border-color: #ffb4ab;
}
.btn-tech-primary {
  background-color: var(--solvix-btn-tech-primary-bg, #dce1fb);
  color: var(--solvix-btn-tech-primary-fg, #0c1324);
  text-transform: uppercase;
  position: relative;
}
.btn-tech-primary::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 4px;
  height: 4px;
  background-color: currentColor;
  opacity: 0.85;
}
.btn-tech-primary:hover {
  background-color: var(--solvix-btn-tech-primary-hover, #ffffff);
}
.btn-tech-secondary {
  background-color: var(--solvix-btn-tech-secondary-bg, #2e3447);
  color: var(--solvix-btn-tech-secondary-fg, #dce1fb);
  text-transform: uppercase;
  position: relative;
}
.btn-tech-secondary::after {
  content: "";
  position: absolute;
  bottom: 4px;
  right: 4px;
  width: 4px;
  height: 4px;
  background-color: var(--solvix-primary, #4fd1ff);
}
.btn-tech-secondary:hover {
  background-color: var(--solvix-btn-tech-secondary-hover, #33394c);
}
.btn-tech-tertiary {
  padding: 16px;
  background: transparent;
  color: var(--solvix-btn-tech-tertiary-fg, #94a3b8);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.btn-tech-tertiary:hover {
  color: var(--solvix-btn-tech-tertiary-hover, #dce1fb);
}
.btn-tech-danger {
  background-color: #93000a;
  color: #ffdad6;
  text-transform: uppercase;
  position: relative;
}
.btn-tech-danger::before {
  content: "";
  position: absolute;
  top: 4px;
  right: 4px;
  width: 4px;
  height: 4px;
  background-color: #ffb4ab;
}
.btn-tech-danger:hover {
  background-color: #690005;
}
html {
  scrollbar-width: thin;
  scrollbar-color: var(--solvix-scrollbar-thumb) transparent;
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--solvix-scrollbar-thumb) transparent;
}
::-webkit-scrollbar {
  width: var(--solvix-scrollbar-size);
  height: var(--solvix-scrollbar-size);
}
::-webkit-scrollbar-track {
  background: var(--solvix-scrollbar-track, transparent);
}
::-webkit-scrollbar-thumb {
  background: var(--solvix-scrollbar-thumb);
  border-radius: 999px;
  border: 1px solid transparent;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover,
::-webkit-scrollbar-thumb:active {
  background: var(--solvix-scrollbar-thumb-hover);
}
::-webkit-scrollbar-corner {
  background: transparent;
}
.table-wrap,
.dash-table-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
}
.table-wrap--fit,
.table-wrap.table-wrap--fit {
  overflow: hidden !important;
}
.mat-mdc-snack-bar-container.solvix-snack {
  --mdc-snackbar-container-color: transparent;
  --mdc-snackbar-supporting-text-color: var(--solvix-text, #131b2e);
  --snack-accent: #006194;
  --snack-accent-soft: #cce5ff;
  margin: 0.65rem 0.85rem !important;
  max-width: min(24rem, 100vw - 1.5rem) !important;
}
.mat-mdc-snack-bar-container.solvix-snack .mdc-snackbar__surface {
  background: var(--solvix-snack-surface-from, rgba(255, 255, 255, 0.98)) !important;
  border: 1px solid var(--solvix-border, #d7e3f0) !important;
  border-left: 3px solid var(--snack-accent) !important;
  border-radius: 0.625rem !important;
  box-shadow: 0 10px 24px -8px rgba(19, 27, 46, 0.16), 0 2px 6px rgba(0, 97, 148, 0.06) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0.5rem 0.55rem 0.5rem 0.7rem !important;
}
.mat-mdc-snack-bar-container.solvix-snack .mdc-snackbar__label,
.mat-mdc-snack-bar-container.solvix-snack .mat-mdc-snack-bar-label {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.mat-mdc-snack-bar-container.solvix-snack .mat-mdc-snack-bar-actions,
.mat-mdc-snack-bar-container.solvix-snack .mdc-snackbar__actions {
  display: none !important;
}
.mat-mdc-snack-bar-container.solvix-snack--info {
  --snack-accent: var(--solvix-info, #006194);
  --snack-accent-soft: var(--solvix-primary-soft, #cce5ff);
}
.mat-mdc-snack-bar-container.solvix-snack--success {
  --snack-accent: var(--solvix-success, #047857);
  --snack-accent-soft: var(--solvix-success-soft, #ecfdf5);
}
.mat-mdc-snack-bar-container.solvix-snack--warning {
  --snack-accent: var(--solvix-warning, #b45309);
  --snack-accent-soft: var(--solvix-warning-soft, #fffbeb);
}
.mat-mdc-snack-bar-container.solvix-snack--error {
  --snack-accent: var(--solvix-error, #ba1a1a);
  --snack-accent-soft: var(--solvix-danger-soft, #fef2f2);
}
html[data-theme=dark] .mat-mdc-snack-bar-container.solvix-snack {
  --solvix-text: #e8f1f8;
  --solvix-text-muted: #8fa3b5;
  --solvix-border: rgba(94, 179, 224, 0.22);
  --solvix-snack-surface-from: rgba(18, 34, 51, 0.96);
  --solvix-info: #5eb3e0;
  --solvix-primary-soft: rgba(0, 97, 148, 0.35);
  --solvix-success: #34d399;
  --solvix-success-soft: rgba(52, 211, 153, 0.16);
  --solvix-warning: #fbbf24;
  --solvix-warning-soft: rgba(251, 191, 36, 0.16);
  --solvix-error: #f87171;
  --solvix-danger-soft: rgba(248, 113, 113, 0.16);
}
html[data-theme=dark] .mat-mdc-snack-bar-container.solvix-snack .mdc-snackbar__surface {
  box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.35) !important;
}
.mat-mdc-menu-panel,
.mat-mdc-select-panel {
  background: var(--color-surface-elevated, var(--solvix-surface-elevated)) !important;
  color: var(--color-text-primary, var(--solvix-text)) !important;
  border: 1px solid var(--color-border-subtle, var(--solvix-border-subtle)) !important;
  box-shadow: var(--solvix-shadow) !important;
}
.mat-mdc-menu-item,
.mat-mdc-option {
  color: var(--color-text-secondary, var(--solvix-text-secondary)) !important;
}
.mat-mdc-menu-item:hover,
.mat-mdc-menu-item:focus,
.mat-mdc-option:hover:not(.mdc-list-item--disabled) {
  background: var(--color-primary-soft, var(--solvix-primary-soft)) !important;
}
.mat-mdc-menu-item .mat-icon,
.mat-mdc-menu-item .material-symbols-outlined {
  color: inherit;
}
.mat-mdc-tooltip .mdc-tooltip__surface {
  background: var(--color-surface-elevated, var(--solvix-surface-elevated)) !important;
  color: var(--color-text-secondary, var(--solvix-text-secondary)) !important;
  border: 1px solid var(--color-border, var(--solvix-border)) !important;
  box-shadow: var(--solvix-shadow) !important;
  font-family: var(--solvix-font) !important;
  font-size: 0.78rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.mat-mdc-form-field {
  --mdc-outlined-text-field-container-shape: 0.35rem;
  --mdc-outlined-text-field-outline-color: var(--color-border-subtle, var(--solvix-border-subtle));
  --mdc-outlined-text-field-hover-outline-color: var(--color-border, var(--solvix-border));
  --mdc-outlined-text-field-focus-outline-color: var(--color-primary, var(--solvix-primary));
  --mdc-outlined-text-field-label-text-color: var(--color-text-muted, var(--solvix-text-muted));
  --mdc-outlined-text-field-input-text-color: var(--color-text-primary, var(--solvix-text));
  --mdc-outlined-text-field-caret-color: var(--color-primary, var(--solvix-primary));
  --mdc-filled-text-field-container-color: var(--color-surface-2, var(--solvix-surface-low));
  --mdc-filled-text-field-input-text-color: var(--color-text-primary, var(--solvix-text));
  --mdc-filled-text-field-label-text-color: var(--color-text-muted, var(--solvix-text-muted));
  --mdc-filled-text-field-caret-color: var(--color-primary, var(--solvix-primary));
  --mdc-filled-text-field-active-indicator-color: var(--color-primary, var(--solvix-primary));
}
.mat-mdc-dialog-surface input:not([type=checkbox]):not([type=radio]):not([type=range]),
.mat-mdc-dialog-surface textarea,
.mat-mdc-dialog-surface select,
.cdk-overlay-pane input:not([type=checkbox]):not([type=radio]):not([type=range]),
.cdk-overlay-pane textarea,
.cdk-overlay-pane select {
  color: var(--color-text-primary, var(--solvix-text));
  caret-color: var(--color-primary, var(--solvix-primary));
}
.mat-mdc-dialog-surface input::placeholder,
.mat-mdc-dialog-surface textarea::placeholder,
.cdk-overlay-pane input::placeholder,
.cdk-overlay-pane textarea::placeholder {
  color: var(--color-text-muted, var(--solvix-text-muted));
  opacity: 0.9;
}
.mat-mdc-dialog-surface option,
.mat-mdc-dialog-surface optgroup,
.cdk-overlay-pane option,
.cdk-overlay-pane optgroup {
  color: var(--color-text-primary, var(--solvix-text));
  background: var(--color-surface-elevated, var(--solvix-surface-elevated));
}
.mat-mdc-checkbox {
  --mdc-checkbox-selected-icon-color: var(--color-primary, var(--solvix-primary));
  --mdc-checkbox-selected-focus-icon-color: var(--color-primary, var(--solvix-primary));
  --mdc-checkbox-selected-hover-icon-color: var(--color-primary-hover, var(--solvix-primary-hover));
  --mdc-checkbox-unselected-icon-color: var(--color-text-muted, var(--solvix-text-muted));
  --mdc-checkbox-unselected-hover-icon-color: var(--color-primary, var(--solvix-primary));
}
.mat-mdc-radio-button {
  --mdc-radio-selected-icon-color: var(--color-primary, var(--solvix-primary));
  --mdc-radio-unselected-icon-color: var(--color-text-muted, var(--solvix-text-muted));
  --mdc-radio-selected-focus-icon-color: var(--color-primary, var(--solvix-primary));
  --mdc-radio-selected-hover-icon-color: var(--color-primary-hover, var(--solvix-primary-hover));
}
.mat-mdc-chip {
  --mdc-chip-label-text-color: var(--color-text-secondary, var(--solvix-text-secondary));
  --mdc-chip-outline-color: var(--color-border-subtle, var(--solvix-border-subtle));
}
.cdk-overlay-dark-backdrop {
  background: var(--color-overlay, var(--solvix-overlay));
}
:root {
  --solvix-focus-ring: 2px solid var(--color-focus, var(--solvix-primary));
  --solvix-focus-offset: 2px;
  --solvix-touch-min: 44px;
}
html,
body {
  overflow-x: clip;
}
:where(a, button, summary, [role=button], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: var(--solvix-focus-ring);
  outline-offset: var(--solvix-focus-offset);
}
:where(input:not([type=checkbox]):not([type=radio]), textarea, select):focus-visible {
  outline: var(--solvix-focus-ring);
  outline-offset: 1px;
}
:where(input[type=checkbox], input[type=radio]):focus-visible {
  outline: var(--solvix-focus-ring);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  html,
  body,
  .admin-shell,
  .admin-topbar,
  .admin-sidebar,
  .mat-mdc-dialog-surface,
  .mat-mdc-menu-panel,
  .mat-mdc-select-panel,
  .solvix-snack .mdc-snackbar__surface {
    transition: none !important;
  }
}
.cdk-overlay-pane.mat-mdc-dialog-panel,
.cdk-overlay-pane.solvix-dialog-panel {
  max-width: min(96vw, 720px) !important;
}
@media (max-width: 767px) {
  .cdk-overlay-pane.mat-mdc-dialog-panel,
  .cdk-overlay-pane.solvix-dialog-panel {
    width: calc(100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    margin: 0.5rem !important;
  }
  .solvix-dialog-panel .mat-mdc-dialog-surface {
    max-height: min(92vh, 900px) !important;
  }
}
.mat-mdc-snack-bar-container.solvix-snack {
  max-width: min(24rem, 100vw - 1rem) !important;
}
.btn-icon-menu,
.admin-topbar__icon,
.admin-topbar__menu,
.theme-toggle {
  min-width: var(--solvix-touch-min);
  min-height: var(--solvix-touch-min);
}
html[data-theme=light] {
}
html[data-theme=light] body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html[data-theme=light] .admin-shell__content::before {
  content: none;
  display: none;
}
html[data-theme=light] .admin-sidebar {
  background: var(--solvix-surface);
  border-right-color: var(--solvix-border);
  box-shadow: var(--solvix-shadow-sm);
}
html[data-theme=light] .admin-sidebar__name {
  color: var(--solvix-primary);
  font-weight: 800;
  letter-spacing: -0.03em;
}
html[data-theme=light] .admin-sidebar__kicker {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.68rem;
  color: var(--solvix-text-muted);
}
html[data-theme=light] .admin-sidebar__link {
  border-radius: 0.5rem;
  border: 1px solid transparent;
  color: var(--solvix-text-secondary);
  font-weight: 500;
}
html[data-theme=light] .admin-sidebar__link .material-symbols-outlined {
  color: var(--solvix-text-muted);
}
html[data-theme=light] .admin-sidebar__link:hover,
html[data-theme=light] .admin-sidebar__link:focus-visible {
  color: var(--solvix-text);
  background: var(--solvix-neutral-soft);
}
html[data-theme=light] .admin-sidebar__link:hover .material-symbols-outlined,
html[data-theme=light] .admin-sidebar__link:focus-visible .material-symbols-outlined {
  color: var(--solvix-primary);
}
html[data-theme=light] .admin-sidebar__link.is-active {
  color: var(--solvix-deep, var(--solvix-primary));
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  font-weight: 600;
}
html[data-theme=light] .admin-sidebar__link.is-active .material-symbols-outlined {
  color: var(--solvix-primary);
}
html[data-theme=light] .admin-sidebar__link:focus:not(:focus-visible) {
  outline: none;
}
html[data-theme=light] .admin-topbar {
  border-bottom: 1px solid var(--solvix-border);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
html[data-theme=light] .admin-topbar__search input,
html[data-theme=light] .admin-topbar__search-input {
  background: var(--solvix-surface-low);
  border: 1px solid var(--solvix-border);
  border-radius: 0.5rem;
}
html[data-theme=light] .admin-topbar__search input:focus,
html[data-theme=light] .admin-topbar__search-input:focus {
  background: var(--solvix-surface);
  border-color: var(--solvix-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--solvix-primary) 18%, transparent);
}
html[data-theme=light] .admin-topbar__avatar {
  background: var(--solvix-surface-high);
  border: 1px solid var(--solvix-border);
  color: var(--solvix-text-secondary);
}
html[data-theme=light] .solvix-page-header h1 {
  font-weight: 800;
  letter-spacing: -0.03em;
}
html[data-theme=light] .solvix-page-header__kicker {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
  font-weight: 600;
}
html[data-theme=light] .metric {
  background: var(--solvix-panel) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-color: var(--solvix-border) !important;
  border-radius: var(--solvix-radius-card) !important;
  box-shadow: var(--solvix-shadow-sm);
}
html[data-theme=light] .metric:hover {
  border-color: color-mix(in srgb, var(--solvix-primary) 28%, var(--solvix-border)) !important;
}
html[data-theme=light] .btn-tech-primary {
  background-color: var(--solvix-btn-tech-primary-bg);
  color: var(--solvix-btn-tech-primary-fg);
  border-radius: 0.5rem;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--solvix-primary) 22%, transparent);
  letter-spacing: 0.04em;
}
html[data-theme=light] .btn-tech-primary::before {
  display: none;
}
html[data-theme=light] .btn-tech-primary:hover {
  background-color: var(--solvix-btn-tech-primary-hover);
}
html[data-theme=light] .btn-tech-secondary {
  background-color: var(--solvix-btn-tech-secondary-bg);
  color: var(--solvix-btn-tech-secondary-fg);
  border: 1px solid var(--solvix-border);
  border-radius: 0.5rem;
}
html[data-theme=light] .btn-tech-secondary::after {
  display: none;
}
html[data-theme=light] .btn-tech-secondary:hover {
  background-color: var(--solvix-btn-tech-secondary-hover);
}
html[data-theme=light] .btn-tech-tertiary {
  color: var(--solvix-btn-tech-tertiary-fg);
}
html[data-theme=light] .btn-tech-tertiary:hover {
  color: var(--solvix-btn-tech-tertiary-hover);
}
html[data-theme=light] .filter-bar,
html[data-theme=light] .table-panel,
html[data-theme=light] .dash-panel,
html[data-theme=light] .panel,
html[data-theme=light] .form-layout .panel,
html[data-theme=light] .form-layout .col > .panel {
  background: var(--solvix-panel);
  border-color: var(--solvix-border);
  border-radius: var(--solvix-radius-card);
  box-shadow: var(--solvix-shadow-sm);
}
html[data-theme=light] .filter-bar input,
html[data-theme=light] .filter-bar select,
html[data-theme=light] .search input {
  background: var(--solvix-surface-low);
  border-color: var(--solvix-border);
  border-radius: 0.5rem;
  color: var(--solvix-text);
}
html[data-theme=light] .filter-bar input:focus,
html[data-theme=light] .filter-bar select:focus,
html[data-theme=light] .search input:focus {
  background: var(--solvix-surface);
  border-color: var(--solvix-primary);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--solvix-primary) 18%, transparent);
}
html[data-theme=light] thead,
html[data-theme=light] .prod-table thead,
html[data-theme=light] .venta-table thead,
html[data-theme=light] .servicio-table thead {
  background: var(--solvix-surface-low);
}
html[data-theme=light] .prod-table tbody tr:hover,
html[data-theme=light] .venta-table tbody tr:hover,
html[data-theme=light] .servicio-table tbody tr:hover,
html[data-theme=light] table tbody tr:hover {
  background: var(--solvix-row-hover);
}
html[data-theme=light] .cat,
html[data-theme=light] solvix-badge {
  border-radius: 0.25rem;
}
html[data-theme=light] .dash-panel {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-radius: var(--solvix-radius-card);
  box-shadow: var(--solvix-shadow-sm);
}
html[data-theme=light] .dash-panel::before {
  opacity: 0.25;
}
html[data-theme=light] .solvix-mono {
  letter-spacing: -0.02em;
}
html[data-theme=light] .clear {
  font-family: var(--solvix-font) !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
}
html[data-theme=light] .clear:hover {
  text-decoration: underline;
}
html[data-theme=light] th,
html[data-theme=light] .prod-table th,
html[data-theme=light] .venta-table th,
html[data-theme=light] .servicio-table th,
html[data-theme=light] .dash-table th {
  font-family: var(--solvix-font);
  font-weight: 600;
  letter-spacing: 0.08em;
}
html[data-theme=light] .sub,
html[data-theme=light] .hint,
html[data-theme=light] .meta,
html[data-theme=light] .field-hint {
  font-family: var(--solvix-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html[data-theme=light] .help__btn {
  background: var(--solvix-surface-low) !important;
  color: var(--solvix-text-muted) !important;
  border-color: var(--solvix-border) !important;
  font-family: var(--solvix-font) !important;
}
html[data-theme=light] .help__tip {
  background: var(--solvix-surface) !important;
  color: var(--solvix-text-secondary) !important;
  border-color: var(--solvix-border) !important;
  box-shadow: var(--solvix-shadow) !important;
  font-family: var(--solvix-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html[data-theme=light] .solvix-snack .mdc-snackbar__surface,
html[data-theme=light] .mat-mdc-snack-bar-label {
  font-family: var(--solvix-font) !important;
  letter-spacing: 0 !important;
}
html[data-theme=light] .faq,
html[data-theme=light] .steps-homepage,
html[data-theme=light] .catalog-preview,
html[data-theme=light] .services {
  background: var(--solvix-surface-low);
}
html[data-theme=light] .stats-header h1 span,
html[data-theme=light] .stats .icon {
  text-shadow: none;
}
html[data-theme=light] .holo-card:hover,
html[data-theme=light] .stat-card:hover,
html[data-theme=light] .preview-card:hover,
html[data-theme=light] .card:hover,
html[data-theme=light] .faq-item:hover {
  box-shadow: var(--solvix-home-card-hover-shadow);
}
html[data-theme=light] .admin-shell,
.admin-shell {
  color-scheme: light;
  --solvix-font:
    "Space Grotesk",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  --solvix-font-mono:
    "JetBrains Mono",
    ui-monospace,
    "SFMono-Regular",
    Consolas,
    monospace;
  --solvix-bg: #f4f8fc;
  --solvix-surface: #ffffff;
  --solvix-surface-low: #eef4f9;
  --solvix-surface-high: #d7e3f0;
  --solvix-surface-elevated: #ffffff;
  --solvix-panel: #ffffff;
  --solvix-panel-inset: #f4f8fc;
  --solvix-row-hover: rgba(204, 229, 255, 0.45);
  --solvix-primary: #006194;
  --solvix-primary-hover: #007bb9;
  --solvix-secondary: #007bb9;
  --solvix-neon: #006194;
  --solvix-deep: #004b73;
  --solvix-text: #131b2e;
  --solvix-text-secondary: #3f4850;
  --solvix-text-muted: #5a6570;
  --solvix-border: #d7e3f0;
  --solvix-border-subtle: #e8eef5;
  --solvix-success: #047857;
  --solvix-warning: #b45309;
  --solvix-error: #ba1a1a;
  --solvix-error-bg: #ffdad6;
  --solvix-info: #006194;
  --solvix-on-primary: #ffffff;
  --solvix-primary-soft: #cce5ff;
  --solvix-success-soft: #ecfdf5;
  --solvix-warning-soft: #fffbeb;
  --solvix-danger-soft: #fef2f2;
  --solvix-info-soft: #e8f4fc;
  --solvix-neutral-soft: #eef4f9;
  --solvix-overlay: rgba(19, 27, 46, 0.4);
  --solvix-shadow: 0 1px 2px rgba(19, 27, 46, 0.05), 0 8px 24px rgba(0, 97, 148, 0.06);
  --solvix-shadow-sm: 0 1px 2px rgba(19, 27, 46, 0.05);
  --solvix-glow: none;
  --solvix-scrollbar-track: #eef4f9;
  --solvix-scrollbar-thumb: #b8c9d9;
  --solvix-scrollbar-thumb-hover: #8aa3b8;
  --solvix-topbar-bg: rgba(255, 255, 255, 0.92);
  --solvix-snack-surface-from: rgba(255, 255, 255, 0.98);
  --solvix-snack-surface-to: rgba(244, 248, 252, 0.98);
  --solvix-select-panel-bg: #ffffff;
  --solvix-btn-tech-primary-bg: #006194;
  --solvix-btn-tech-primary-fg: #ffffff;
  --solvix-btn-tech-primary-hover: #007bb9;
  --solvix-btn-tech-secondary-bg: #ffffff;
  --solvix-btn-tech-secondary-fg: #3f4850;
  --solvix-btn-tech-secondary-hover: #eef4f9;
  --solvix-btn-tech-tertiary-fg: #5a6570;
  --solvix-btn-tech-tertiary-hover: #006194;
  --solvix-radius: 0.5rem;
  --solvix-radius-card: 0.75rem;
  --ce-chart-primary: #006194;
  --ce-chart-secondary: #007bb9;
  --ce-chart-success: #047857;
  --ce-chart-danger: #ba1a1a;
  --ce-chart-fill: color-mix(in srgb, #006194 12%, transparent);
  --ce-chart-crosshair: color-mix(in srgb, #006194 40%, transparent);
  --color-bg: var(--solvix-bg);
  --color-surface-1: var(--solvix-surface);
  --color-surface-2: var(--solvix-surface-low);
  --color-surface-elevated: var(--solvix-surface-elevated);
  --color-panel: var(--solvix-panel);
  --color-panel-inset: var(--solvix-panel-inset);
  --color-row-hover: var(--solvix-row-hover);
  --color-text-primary: var(--solvix-text);
  --color-text-secondary: var(--solvix-text-secondary);
  --color-text-muted: var(--solvix-text-muted);
  --color-border: var(--solvix-border);
  --color-border-subtle: var(--solvix-border-subtle);
  --color-primary: var(--solvix-primary);
  --color-primary-hover: var(--solvix-primary-hover);
  --color-primary-soft: var(--solvix-primary-soft);
  --color-success: var(--solvix-success);
  --color-success-soft: var(--solvix-success-soft);
  --color-warning: var(--solvix-warning);
  --color-warning-soft: var(--solvix-warning-soft);
  --color-danger: var(--solvix-error);
  --color-danger-soft: var(--solvix-danger-soft);
  --color-info: var(--solvix-info);
  --color-info-soft: var(--solvix-info-soft);
  --color-focus: var(--solvix-primary);
  --color-overlay: var(--solvix-overlay);
  background: var(--solvix-bg);
  color: var(--solvix-text);
}
html[data-theme=dark] .admin-shell {
  color-scheme: dark;
  --solvix-font:
    "Space Grotesk",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  --solvix-font-mono:
    "JetBrains Mono",
    ui-monospace,
    "SFMono-Regular",
    Consolas,
    monospace;
  --solvix-bg: #0b1520;
  --solvix-surface: #122233;
  --solvix-surface-low: #0f1c2a;
  --solvix-surface-high: #1a3144;
  --solvix-surface-elevated: #173042;
  --solvix-panel: #122233;
  --solvix-panel-inset: #0b1520;
  --solvix-row-hover: rgba(0, 97, 148, 0.22);
  --solvix-primary: #5eb3e0;
  --solvix-primary-hover: #7cc4e8;
  --solvix-secondary: #4aa3d4;
  --solvix-neon: #5eb3e0;
  --solvix-deep: #9fd4f0;
  --solvix-text: #e8f1f8;
  --solvix-text-secondary: #c5d5e2;
  --solvix-text-muted: #8fa3b5;
  --solvix-border: rgba(94, 179, 224, 0.22);
  --solvix-border-subtle: rgba(143, 163, 181, 0.16);
  --solvix-success: #34d399;
  --solvix-warning: #fbbf24;
  --solvix-error: #f87171;
  --solvix-error-bg: rgba(185, 28, 28, 0.35);
  --solvix-info: #5eb3e0;
  --solvix-on-primary: #0b1520;
  --solvix-primary-soft: rgba(0, 97, 148, 0.35);
  --solvix-success-soft: rgba(52, 211, 153, 0.14);
  --solvix-warning-soft: rgba(251, 191, 36, 0.14);
  --solvix-danger-soft: rgba(248, 113, 113, 0.14);
  --solvix-info-soft: rgba(94, 179, 224, 0.14);
  --solvix-neutral-soft: rgba(143, 163, 181, 0.12);
  --solvix-overlay: rgba(5, 10, 16, 0.72);
  --solvix-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 12px 32px rgba(0, 0, 0, 0.35);
  --solvix-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.28);
  --solvix-glow: none;
  --solvix-scrollbar-track: #0f1c2a;
  --solvix-scrollbar-thumb: #3a5568;
  --solvix-scrollbar-thumb-hover: #5eb3e0;
  --solvix-topbar-bg: rgba(18, 34, 51, 0.94);
  --solvix-snack-surface-from: rgba(18, 34, 51, 0.98);
  --solvix-snack-surface-to: rgba(15, 28, 42, 0.98);
  --solvix-select-panel-bg: #173042;
  --solvix-btn-tech-primary-bg: #5eb3e0;
  --solvix-btn-tech-primary-fg: #0b1520;
  --solvix-btn-tech-primary-hover: #7cc4e8;
  --solvix-btn-tech-secondary-bg: #0f1c2a;
  --solvix-btn-tech-secondary-fg: #c5d5e2;
  --solvix-btn-tech-secondary-hover: #1a3144;
  --solvix-btn-tech-tertiary-fg: #8fa3b5;
  --solvix-btn-tech-tertiary-hover: #5eb3e0;
  --ce-chart-primary: #5eb3e0;
  --ce-chart-secondary: #4aa3d4;
  --ce-chart-success: #34d399;
  --ce-chart-danger: #f87171;
  --ce-chart-fill: color-mix(in srgb, #5eb3e0 16%, transparent);
  --ce-chart-crosshair: color-mix(in srgb, #5eb3e0 45%, transparent);
  --color-bg: var(--solvix-bg);
  --color-surface-1: var(--solvix-surface);
  --color-surface-2: var(--solvix-surface-low);
  --color-surface-elevated: var(--solvix-surface-elevated);
  --color-panel: var(--solvix-panel);
  --color-panel-inset: var(--solvix-panel-inset);
  --color-row-hover: var(--solvix-row-hover);
  --color-text-primary: var(--solvix-text);
  --color-text-secondary: var(--solvix-text-secondary);
  --color-text-muted: var(--solvix-text-muted);
  --color-border: var(--solvix-border);
  --color-border-subtle: var(--solvix-border-subtle);
  --color-primary: var(--solvix-primary);
  --color-primary-hover: var(--solvix-primary-hover);
  --color-primary-soft: var(--solvix-primary-soft);
  --color-success: var(--solvix-success);
  --color-success-soft: var(--solvix-success-soft);
  --color-warning: var(--solvix-warning);
  --color-warning-soft: var(--solvix-warning-soft);
  --color-danger: var(--solvix-error);
  --color-danger-soft: var(--solvix-danger-soft);
  --color-info: var(--solvix-info);
  --color-info-soft: var(--solvix-info-soft);
  --color-focus: var(--solvix-primary);
  --color-overlay: var(--solvix-overlay);
  background: var(--solvix-bg);
  color: var(--solvix-text);
}
.admin-shell {
  font-family: var(--solvix-font);
}
.admin-shell h1,
.admin-shell h2,
.admin-shell h3,
.admin-shell h4 {
  font-family: var(--solvix-font);
}
.admin-shell .solvix-mono,
.admin-shell code,
.admin-shell .mono {
  font-family: var(--solvix-font-mono);
}
.admin-shell .material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 500,
    "GRAD" 0,
    "opsz" 24;
}
.admin-shell .btn-tech-primary,
.admin-shell .btn-tech-secondary,
.admin-shell .btn-tech-tertiary,
.admin-shell .btn-tech-danger {
  height: 40px;
  min-height: 40px;
  padding: 0 1.1rem;
  gap: 0.35rem;
  font-family: var(--solvix-font);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  border-radius: 0.5rem;
}
.admin-shell .btn-tech-primary .material-symbols-outlined,
.admin-shell .btn-tech-secondary .material-symbols-outlined,
.admin-shell .btn-tech-tertiary .material-symbols-outlined,
.admin-shell .btn-tech-danger .material-symbols-outlined {
  font-size: 1.05rem;
  line-height: 1;
  font-variation-settings:
    "FILL" 0,
    "wght" 500,
    "GRAD" 0,
    "opsz" 20;
}
.admin-shell .btn-tech-primary:hover:not(:disabled):not(.is-loading),
.admin-shell .btn-tech-secondary:hover:not(:disabled):not(.is-loading),
.admin-shell .btn-tech-danger:hover:not(:disabled):not(.is-loading),
.admin-shell .btn-tech-primary:active:not(:disabled),
.admin-shell .btn-tech-secondary:active:not(:disabled),
.admin-shell .btn-tech-danger:active:not(:disabled) {
  transform: none;
}
.admin-shell .admin-icon-badge {
  width: 2rem;
  height: 2rem;
  border-radius: 0.55rem;
  background: var(--solvix-primary-soft);
  color: var(--solvix-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.admin-shell .admin-icon-badge .material-symbols-outlined {
  font-size: 1.15rem;
}
.admin-shell .filter-bar,
.admin-shell .table-panel,
.admin-shell .table-wrap,
.admin-shell .dash-panel,
.admin-shell .panel,
.admin-shell .form-layout .panel,
.admin-shell .form-layout .col > .panel {
  background: var(--solvix-panel);
  border: 1px solid var(--solvix-border);
  border-radius: var(--solvix-radius-card);
  box-shadow: var(--solvix-shadow-sm);
}
.admin-shell .filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
  padding: 0.85rem 1rem;
}
.admin-shell .filter-bar label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--solvix-text-muted);
}
.admin-shell .filter-bar input,
.admin-shell .filter-bar select,
.admin-shell .admin-topbar__search-input,
.admin-shell .search input {
  background: var(--solvix-surface-low);
  border: 1px solid var(--solvix-border);
  border-radius: 0.5rem;
  color: var(--solvix-text);
  font-family: var(--solvix-font);
}
.admin-shell .filter-bar input:focus,
.admin-shell .filter-bar select:focus,
.admin-shell .admin-topbar__search-input:focus,
.admin-shell .search input:focus {
  background: var(--solvix-surface);
  border-color: var(--solvix-primary);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--solvix-primary) 18%, transparent);
}
.admin-shell .filter-bar input::placeholder,
.admin-shell .admin-topbar__search-input::placeholder,
.admin-shell .search input::placeholder {
  color: var(--solvix-text-muted);
  opacity: 0.85;
}
.admin-shell thead,
.admin-shell .prod-table thead,
.admin-shell .venta-table thead,
.admin-shell .servicio-table thead,
.admin-shell .dash-table thead {
  background: var(--solvix-surface-low);
}
.admin-shell .prod-table tbody tr:hover,
.admin-shell .venta-table tbody tr:hover,
.admin-shell .servicio-table tbody tr:hover,
.admin-shell .dash-table tbody tr:hover,
.admin-shell table tbody tr:hover {
  background: var(--solvix-row-hover);
}
.admin-shell .btn-tech-primary {
  color: #ffffff;
  background:
    linear-gradient(
      105deg,
      #006194 0%,
      #007bb9 52%,
      #2a9ad0 100%);
  box-shadow: 0 4px 12px -6px color-mix(in srgb, #006194 42%, transparent);
  transition:
    background var(--motion-fast, 160ms) var(--ease-standard, ease),
    box-shadow var(--motion-fast, 160ms) var(--ease-standard, ease),
    filter var(--motion-fast, 160ms) var(--ease-standard, ease);
}
.admin-shell .btn-tech-primary::before {
  display: none;
}
.admin-shell .btn-tech-primary:hover:not(:disabled):not(.is-loading) {
  color: #ffffff;
  background:
    linear-gradient(
      105deg,
      #007bb9 0%,
      color-mix(in srgb, #007bb9 68%, #ffffff) 100%);
  box-shadow: 0 6px 14px -6px color-mix(in srgb, #007bb9 45%, transparent);
}
.admin-shell .btn-tech-secondary {
  background-color: var(--solvix-btn-tech-secondary-bg);
  color: var(--solvix-btn-tech-secondary-fg);
  border: 1px solid var(--solvix-border);
  border-radius: 0.5rem;
}
.admin-shell .btn-tech-secondary::after {
  display: none;
}
.admin-shell .btn-tech-secondary:hover {
  background-color: var(--solvix-btn-tech-secondary-hover);
}
.admin-shell .btn-tech-tertiary {
  color: var(--solvix-btn-tech-tertiary-fg);
}
.admin-shell .btn-tech-tertiary:hover {
  color: var(--solvix-btn-tech-tertiary-hover);
}
.admin-shell .metric {
  background: var(--solvix-panel);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border: 1px solid var(--solvix-border);
  border-radius: var(--solvix-radius-card);
  box-shadow: var(--solvix-shadow-sm);
}
.admin-shell .dash-panel {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.admin-shell .dash-panel::before {
  opacity: 0.35;
  background:
    linear-gradient(
      90deg,
      transparent,
      color-mix(in srgb, var(--solvix-primary) 55%, transparent),
      transparent);
}
.admin-shell .solvix-page-header h1 {
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--solvix-text);
}
.admin-shell .solvix-page-header__kicker {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--solvix-primary);
}
.admin-shell thead th,
.admin-shell .prod-table thead th,
.admin-shell .venta-table thead th,
.admin-shell .servicio-table thead th,
.admin-shell .svc-table thead th,
.admin-shell .cli-table thead th,
.admin-shell .cot-table thead th,
.admin-shell .prov-table thead th,
.admin-shell .compra-table thead th,
.admin-shell .inv-table thead th,
.admin-shell .dash-table thead th {
  font-family: var(--solvix-font);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solvix-text-muted);
}
.admin-shell td,
.admin-shell .prod-table td,
.admin-shell .venta-table td,
.admin-shell .servicio-table td,
.admin-shell .svc-table td,
.admin-shell .cli-table td,
.admin-shell .cot-table td,
.admin-shell .prov-table td,
.admin-shell .compra-table td,
.admin-shell .inv-table td,
.admin-shell .dash-table td {
  font-size: 0.875rem;
  color: var(--solvix-text);
}
.admin-shell .detalle-head h1 {
  margin: 0.35rem 0 0;
  font-family: var(--solvix-font);
  font-size: clamp(1.35rem, 1.15rem + 0.55vw, 1.65rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--solvix-text);
}
.admin-shell .detalle-head .meta,
.admin-shell .detalle-head .head-meta {
  font-family: var(--solvix-font);
}
.admin-shell .detalle-head .meta {
  margin: 0.3rem 0 0;
  font-size: 0.875rem;
  color: var(--solvix-text-muted);
}
.admin-shell .hub-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.55rem;
  background: var(--solvix-primary-soft);
  color: var(--solvix-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem !important;
}
.admin-shell .filter-bar .search {
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  text-transform: none;
  letter-spacing: 0;
  font-size: inherit;
  font-weight: 400;
  color: inherit;
}
.admin-shell .filter-bar .search .material-symbols-outlined {
  color: var(--solvix-text-muted);
  font-size: 1.15rem;
}
.admin-shell .dash-panel h2,
.admin-shell .dash-panel h3,
.admin-shell .metric .label,
.admin-shell .metric dt {
  font-family: var(--solvix-font);
}
.admin-shell .metric .label,
.admin-shell .metric dt {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--solvix-text-muted);
}
.admin-shell .metric .value,
.admin-shell .metric dd {
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--solvix-text);
}
.admin-shell .cat,
.admin-shell solvix-badge {
  border-radius: 0.3rem;
  font-family: var(--solvix-font-mono, var(--solvix-font));
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.admin-shell .clear {
  font-family: var(--solvix-font);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.admin-shell .btn-icon-menu,
.admin-shell .btn-mas-acciones {
  font-family: var(--solvix-font);
}
.solvix-menu.mat-mdc-menu-panel,
.menu-orden-acciones.mat-mdc-menu-panel,
.menu-cot-acciones.mat-mdc-menu-panel {
  font-family: var(--solvix-font, "Space Grotesk", Inter, system-ui, sans-serif) !important;
  border-radius: 0.75rem !important;
}
.solvix-dialog-panel .mat-mdc-dialog-surface,
.cdk-overlay-pane.solvix-dialog-panel .mat-mdc-dialog-surface {
  --color-bg: var(--solvix-bg);
  --color-surface-1: var(--solvix-surface);
  --color-surface-2: var(--solvix-surface-low);
  --color-surface-elevated: var(--solvix-surface-elevated);
  --color-panel: var(--solvix-panel);
  --color-panel-inset: var(--solvix-panel-inset);
  --color-row-hover: var(--solvix-row-hover);
  --color-text-primary: var(--solvix-text);
  --color-text-secondary: var(--solvix-text-secondary);
  --color-text-muted: var(--solvix-text-muted);
  --color-border: var(--solvix-border);
  --color-border-subtle: var(--solvix-border-subtle);
  --color-primary: var(--solvix-primary);
  --color-primary-hover: var(--solvix-primary-hover);
  --color-primary-soft: var(--solvix-primary-soft);
  --color-success: var(--solvix-success);
  --color-success-soft: var(--solvix-success-soft);
  --color-warning: var(--solvix-warning);
  --color-warning-soft: var(--solvix-warning-soft);
  --color-danger: var(--solvix-error);
  --color-danger-soft: var(--solvix-danger-soft);
  --color-info: var(--solvix-info);
  --color-info-soft: var(--solvix-info-soft);
  --color-focus: var(--solvix-primary);
  --color-overlay: var(--solvix-overlay);
  --solvix-font:
    "Space Grotesk",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  --solvix-font-mono:
    "JetBrains Mono",
    ui-monospace,
    "SFMono-Regular",
    Consolas,
    monospace;
  --solvix-bg: #f4f8fc;
  --solvix-surface: #ffffff;
  --solvix-surface-low: #eef4f9;
  --solvix-surface-high: #d7e3f0;
  --solvix-surface-elevated: #ffffff;
  --solvix-panel: #ffffff;
  --solvix-panel-inset: #f4f8fc;
  --solvix-row-hover: rgba(204, 229, 255, 0.45);
  --solvix-primary: #006194;
  --solvix-primary-hover: #007bb9;
  --solvix-secondary: #007bb9;
  --solvix-neon: #006194;
  --solvix-deep: #004b73;
  --solvix-text: #131b2e;
  --solvix-text-secondary: #3f4850;
  --solvix-text-muted: #5a6570;
  --solvix-border: #d7e3f0;
  --solvix-border-subtle: #e8eef5;
  --solvix-success: #047857;
  --solvix-warning: #b45309;
  --solvix-error: #ba1a1a;
  --solvix-error-bg: #ffdad6;
  --solvix-info: #006194;
  --solvix-on-primary: #ffffff;
  --solvix-primary-soft: #cce5ff;
  --solvix-success-soft: #ecfdf5;
  --solvix-warning-soft: #fffbeb;
  --solvix-danger-soft: #fef2f2;
  --solvix-info-soft: #e8f4fc;
  --solvix-neutral-soft: #eef4f9;
  --solvix-btn-tech-primary-bg: #006194;
  --solvix-btn-tech-primary-fg: #ffffff;
  --solvix-btn-tech-primary-hover: #007bb9;
  --solvix-btn-tech-secondary-bg: #ffffff;
  --solvix-btn-tech-secondary-fg: #3f4850;
  --solvix-btn-tech-secondary-hover: #eef4f9;
  --solvix-btn-tech-tertiary-fg: #5a6570;
  --solvix-btn-tech-tertiary-hover: #006194;
  font-family: var(--solvix-font);
  border-radius: 0.875rem !important;
  background: var(--solvix-surface-elevated) !important;
  color: var(--solvix-text) !important;
  border: 1px solid var(--solvix-border) !important;
  box-shadow: 0 24px 48px -12px rgba(19, 27, 46, 0.22), 0 4px 12px rgba(0, 97, 148, 0.08) !important;
  padding: 0 !important;
  overflow: hidden;
}
html[data-theme=dark] .solvix-dialog-panel .mat-mdc-dialog-surface,
html[data-theme=dark] .cdk-overlay-pane.solvix-dialog-panel .mat-mdc-dialog-surface {
  --solvix-bg: #0b1520;
  --solvix-surface: #122233;
  --solvix-surface-low: #0f1c2a;
  --solvix-surface-high: #1a3144;
  --solvix-surface-elevated: #173042;
  --solvix-panel: #122233;
  --solvix-panel-inset: #0b1520;
  --solvix-row-hover: rgba(0, 97, 148, 0.22);
  --solvix-primary: #5eb3e0;
  --solvix-primary-hover: #7cc4e8;
  --solvix-secondary: #4aa3d4;
  --solvix-neon: #5eb3e0;
  --solvix-deep: #9fd4f0;
  --solvix-text: #e8f1f8;
  --solvix-text-secondary: #c5d5e2;
  --solvix-text-muted: #8fa3b5;
  --solvix-border: rgba(94, 179, 224, 0.22);
  --solvix-border-subtle: rgba(143, 163, 181, 0.16);
  --solvix-success: #34d399;
  --solvix-warning: #fbbf24;
  --solvix-error: #f87171;
  --solvix-error-bg: rgba(185, 28, 28, 0.35);
  --solvix-info: #5eb3e0;
  --solvix-on-primary: #0b1520;
  --solvix-primary-soft: rgba(0, 97, 148, 0.35);
  --solvix-success-soft: rgba(52, 211, 153, 0.14);
  --solvix-warning-soft: rgba(251, 191, 36, 0.14);
  --solvix-danger-soft: rgba(248, 113, 113, 0.14);
  --solvix-info-soft: rgba(94, 179, 224, 0.14);
  --solvix-neutral-soft: rgba(143, 163, 181, 0.12);
  --solvix-btn-tech-primary-bg: #5eb3e0;
  --solvix-btn-tech-primary-fg: #0b1520;
  --solvix-btn-tech-primary-hover: #7cc4e8;
  --solvix-btn-tech-secondary-bg: #0f1c2a;
  --solvix-btn-tech-secondary-fg: #c5d5e2;
  --solvix-btn-tech-secondary-hover: #1a3144;
  --solvix-btn-tech-tertiary-fg: #8fa3b5;
  --solvix-btn-tech-tertiary-hover: #5eb3e0;
  box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.6), 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}
html[data-theme=dark] .admin-shell .btn-tech-primary {
  color: var(--solvix-btn-tech-primary-fg);
  background: var(--solvix-btn-tech-primary-bg);
  background-image: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
html[data-theme=dark] .admin-shell .btn-tech-primary:hover:not(:disabled):not(.is-loading) {
  color: var(--solvix-btn-tech-primary-fg);
  background: var(--solvix-btn-tech-primary-hover);
  background-image: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  filter: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.static {
  position: static;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mb-space-lg {
  margin-bottom: 1.5rem;
}
.mb-space-md {
  margin-bottom: 1rem;
}
.mb-space-xs {
  margin-bottom: 0.25rem;
}
.mt-auto {
  margin-top: auto;
}
.mt-space-md {
  margin-top: 1rem;
}
.mt-space-xs {
  margin-top: 0.25rem;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.h-10 {
  height: 2.5rem;
}
.h-12 {
  height: 3rem;
}
.h-16 {
  height: 4rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.w-10 {
  width: 2.5rem;
}
.w-12 {
  width: 3rem;
}
.w-16 {
  width: 4rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-full {
  width: 100%;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-xl {
  max-width: 36rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.select-all {
  -webkit-user-select: all;
  user-select: all;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-gutter {
  gap: 1.5rem;
}
.gap-space-lg {
  gap: 1.5rem;
}
.gap-space-md {
  gap: 1rem;
}
.gap-space-sm {
  gap: 0.5rem;
}
.gap-space-xs {
  gap: 0.25rem;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.border {
  border-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.bg-primary-fixed {
  --tw-bg-opacity: 1;
  background-color: rgb(204 229 255 / var(--tw-bg-opacity));
}
.bg-secondary-container {
  --tw-bg-opacity: 1;
  background-color: rgb(253 196 37 / var(--tw-bg-opacity));
}
.bg-secondary-fixed {
  --tw-bg-opacity: 1;
  background-color: rgb(255 223 154 / var(--tw-bg-opacity));
}
.bg-secondary-fixed\/50 {
  background-color: rgb(255 223 154 / 0.5);
}
.bg-surface-container {
  --tw-bg-opacity: 1;
  background-color: rgb(234 237 255 / var(--tw-bg-opacity));
}
.bg-surface-container-low {
  --tw-bg-opacity: 1;
  background-color: rgb(242 243 255 / var(--tw-bg-opacity));
}
.bg-surface-container-lowest {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.from-surface-container-lowest {
  --tw-gradient-from: #ffffff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-surface-container-low {
  --tw-gradient-to: #f2f3ff var(--tw-gradient-to-position);
}
.p-space-lg {
  padding: 1.5rem;
}
.px-margin {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-space-sm {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-space-xl {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.pt-space-md {
  padding-top: 1rem;
}
.pt-space-sm {
  padding-top: 0.5rem;
}
.text-center {
  text-align: center;
}
.font-body-lg {
  font-family: Plus Jakarta Sans, sans-serif;
}
.font-body-md {
  font-family: Plus Jakarta Sans, sans-serif;
}
.font-code-spec {
  font-family: JetBrains Mono, monospace;
}
.font-headline-2xl {
  font-family: Space Grotesk, sans-serif;
}
.font-headline-sm {
  font-family: Space Grotesk, sans-serif;
}
.font-headline-xl {
  font-family: Space Grotesk, sans-serif;
}
.font-label-lg {
  font-family: Plus Jakarta Sans, sans-serif;
}
.font-mono {
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    "Liberation Mono",
    "Courier New",
    monospace;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[19px\] {
  font-size: 19px;
}
.text-\[20px\] {
  font-size: 20px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-\[24px\] {
  font-size: 24px;
}
.text-\[26px\] {
  font-size: 26px;
}
.text-\[36px\] {
  font-size: 36px;
}
.text-body-lg {
  font-size: 18px;
  line-height: 28px;
  font-weight: 400;
}
.text-body-md {
  font-size: 15px;
  line-height: 24px;
  font-weight: 400;
}
.text-code-spec {
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.03em;
  font-weight: 500;
}
.text-headline-2xl {
  font-size: 48px;
  line-height: 56px;
  letter-spacing: -0.02em;
  font-weight: 700;
}
.text-headline-sm {
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
}
.text-headline-xl {
  font-size: 36px;
  line-height: 44px;
  letter-spacing: -0.015em;
  font-weight: 600;
}
.text-label-lg {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.01em;
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.leading-relaxed {
  line-height: 1.625;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity));
}
.text-on-secondary-fixed-variant {
  --tw-text-opacity: 1;
  color: rgb(90 67 0 / var(--tw-text-opacity));
}
.text-on-surface {
  --tw-text-opacity: 1;
  color: rgb(19 27 46 / var(--tw-text-opacity));
}
.text-on-surface-variant {
  --tw-text-opacity: 1;
  color: rgb(63 72 80 / var(--tw-text-opacity));
}
.text-outline {
  --tw-text-opacity: 1;
  color: rgb(112 120 129 / var(--tw-text-opacity));
}
.text-primary {
  --tw-text-opacity: 1;
  color: rgb(0 97 148 / var(--tw-text-opacity));
}
.text-primary\/30 {
  color: rgb(0 97 148 / 0.3);
}
.text-secondary {
  --tw-text-opacity: 1;
  color: rgb(120 90 0 / var(--tw-text-opacity));
}
.underline {
  text-decoration-line: underline;
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.outline {
  outline-style: solid;
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter {
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property:
    color,
    background-color,
    border-color,
    text-decoration-color,
    fill,
    stroke,
    opacity,
    box-shadow,
    transform,
    filter,
    backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property:
    color,
    background-color,
    border-color,
    text-decoration-color,
    fill,
    stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
:root {
  --app-bg-color: var(--color-bg, var(--solvix-bg));
}
html,
body {
  background: var(--app-bg-color);
  background-color: var(--app-bg-color);
  color: var(--color-text-primary, var(--solvix-text));
  min-height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Inter", sans-serif;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
html {
  scroll-behavior: smooth;
}
html,
body,
.admin-shell,
.admin-topbar,
.admin-sidebar,
.mat-mdc-dialog-surface,
.mat-mdc-menu-panel,
.mat-mdc-select-panel,
.solvix-snack .mdc-snackbar__surface {
  transition:
    background-color var(--motion-fast, 140ms) var(--ease-standard, ease),
    color var(--motion-fast, 140ms) var(--ease-standard, ease),
    border-color var(--motion-fast, 140ms) var(--ease-standard, ease),
    box-shadow var(--motion-fast, 140ms) var(--ease-standard, ease);
}
button,
input,
select,
textarea,
optgroup,
option {
  font-family: inherit;
}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=file]):not([type=image]),
textarea,
select {
  color: var(--color-text-primary, var(--solvix-text));
  caret-color: var(--color-primary, var(--solvix-primary));
}
input::placeholder,
textarea::placeholder {
  color: var(--color-text-muted, var(--solvix-text-muted));
  opacity: 0.9;
}
option,
optgroup {
  color: var(--color-text-primary, var(--solvix-text));
  background: var(--color-surface-elevated, var(--solvix-surface-elevated));
}
.mat-mdc-dialog-container,
.mat-dialog-container {
  overflow: hidden !important;
}
.sf-select-panel {
  background: var(--solvix-select-panel-bg) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--color-border, var(--solvix-border)) !important;
  border-radius: 12px !important;
  box-shadow: var(--solvix-shadow), inset 0 0 15px var(--color-primary-soft) !important;
}
.sf-select-panel .mat-mdc-option {
  color: var(--color-text-secondary, var(--solvix-text-secondary)) !important;
}
.sf-select-panel .mat-mdc-option:hover {
  background: var(--color-primary-soft, var(--solvix-primary-soft)) !important;
}
.sf-select-panel .mat-mdc-option.mdc-list-item--selected {
  background: var(--color-primary-soft, var(--solvix-primary-soft)) !important;
}
.sf-select-panel .mat-mdc-option.mdc-list-item--selected .mdc-list-item__primary-text {
  color: var(--color-primary, var(--solvix-primary)) !important;
  font-weight: 600;
}
.solvix-dialog-panel .mat-mdc-dialog-container,
.solvix-dialog-panel .mat-mdc-dialog-surface {
  background: var(--color-surface-elevated, var(--solvix-surface-elevated)) !important;
  box-shadow: var(--solvix-shadow), 0 0 0 1px var(--color-border, var(--solvix-border)) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  color: var(--color-text-primary, var(--solvix-text));
}
.solvix-dialog-panel .mat-mdc-dialog-surface {
  max-height: min(90vh, 900px);
  overflow: auto !important;
}
.solvix-dialog-backdrop {
  background: var(--color-overlay, var(--solvix-overlay)) !important;
}
.hover\:bg-surface-container:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 237 255 / var(--tw-bg-opacity));
}
.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000),
    var(--tw-shadow);
}
.group:hover .group-hover\:text-primary {
  --tw-text-opacity: 1;
  color: rgb(0 97 148 / var(--tw-text-opacity));
}
@media (min-width: 768px) {
  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:flex-row {
    flex-direction: row;
  }
}
@media (min-width: 1024px) {
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles-OJUTPKIF.css.map */
