/* apps/frontend/src/styles.css */
[class*=icon-],
.dv-icon {
  font-family: "Material Symbols Rounded";
  font-weight: var(--text-weight-semibold);
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 20;
  vertical-align: -3px;
}
.graph-icon-text {
  font-family: "Material Symbols Rounded";
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 20;
  pointer-events: none;
}
.icon-sm {
  font-size: 14px;
  vertical-align: -2px;
}
.icon-md {
  font-size: 18px;
}
.icon-lg {
  font-size: 24px;
  vertical-align: -5px;
}
.icon-home::before {
  content: "home";
}
.icon-chat::before {
  content: "chat_bubble";
}
.icon-search::before {
  content: "search";
}
.icon-settings::before {
  content: "settings";
}
.icon-dashboard::before {
  content: "dashboard";
}
.icon-units::before {
  content: "apartment";
}
.icon-ai::before {
  content: "smart_toy";
}
.icon-knowledge::before {
  content: "menu_book";
}
.icon-actions::before {
  content: "bolt";
}
.icon-admin::before {
  content: "admin_panel_settings";
}
.icon-group::before {
  content: "group";
}
.icon-person::before {
  content: "person";
}
.icon-group-add::before {
  content: "group_add";
}
.icon-lock::before {
  content: "lock";
}
.icon-unlock::before {
  content: "lock_open";
}
.icon-shield::before {
  content: "shield";
}
.icon-link::before {
  content: "link";
}
.icon-clipboard::before {
  content: "content_paste";
}
.icon-save::before {
  content: "save";
}
.icon-delete::before {
  content: "delete";
}
.icon-edit::before {
  content: "edit";
}
.icon-add::before {
  content: "add_circle";
}
.icon-close::before {
  content: "close";
}
.icon-upload::before {
  content: "upload";
}
.icon-download::before {
  content: "download";
}
.icon-filter::before {
  content: "filter_list";
}
.icon-expand::before {
  content: "expand_more";
}
.icon-collapse::before {
  content: "expand_less";
}
.icon-file::before {
  content: "description";
}
.icon-attach::before {
  content: "attach_file";
}
.icon-check::before {
  content: "check_circle";
}
.icon-warning::before {
  content: "warning";
}
.icon-error::before {
  content: "error";
}
.icon-info::before {
  content: "info";
}
.icon-voice::before {
  content: "mic";
}
.icon-graph::before {
  content: "hub";
}
.icon-dpa::before {
  content: "verified_user";
}
.icon-notify::before {
  content: "notifications";
}
.icon-logout::before {
  content: "logout";
}
.icon-config::before {
  content: "tune";
}
.icon-ticket::before {
  content: "confirmation_number";
}
.icon-log::before {
  content: "receipt_long";
}
.icon-connector::before {
  content: "cable";
}
.icon-copy::before {
  content: "content_copy";
}
.icon-robot::before {
  content: "smart_toy";
}
.icon-wrench::before {
  content: "build";
}
.icon-key::before {
  content: "vpn_key";
}
.icon-plug::before {
  content: "electrical_services";
}
.icon-pin::before {
  content: "push_pin";
}
.icon-target::before {
  content: "gps_fixed";
}
.icon-folder::before {
  content: "folder";
}
.icon-calendar::before {
  content: "calendar_today";
}
.icon-refresh::before {
  content: "refresh";
}
.icon-sync::before {
  content: "sync";
}
.icon-satellite::before {
  content: "cell_tower";
}
.icon-brain::before {
  content: "psychology";
}
.icon-star::before {
  content: "star";
}
.icon-sparkle::before {
  content: "auto_awesome";
}
.icon-mail::before {
  content: "mail";
}
.icon-notes::before {
  content: "sticky_note_2";
}
.icon-tag::before {
  content: "label";
}
.icon-globe::before {
  content: "language";
}
.icon-block::before {
  content: "block";
}
.icon-dot-green::before {
  content: "circle";
  color: var(--success);
  font-size: 10px;
}
.icon-dot-yellow::before {
  content: "circle";
  color: var(--warning);
  font-size: 10px;
}
.icon-dot-blue::before {
  content: "circle";
  color: var(--accent);
  font-size: 10px;
}
.icon-dot-white::before {
  content: "circle";
  color: var(--text-secondary);
  font-size: 10px;
}
.icon-eye::before {
  content: "visibility";
}
.icon-crown::before {
  content: "workspace_premium";
}
.icon-handshake::before {
  content: "handshake";
}
.icon-detective::before {
  content: "policy";
}
.icon-clock::before {
  content: "schedule";
}
.icon-box::before {
  content: "inventory_2";
}
.icon-inbox::before {
  content: "move_to_inbox";
}
.icon-scroll::before {
  content: "article";
}
.icon-lightbulb::before {
  content: "lightbulb";
}
.icon-wave::before {
  content: "waving_hand";
}
.icon-bug::before {
  content: "bug_report";
}
.icon-tree::before {
  content: "account_tree";
}
.icon-cloud::before {
  content: "cloud";
}
.icon-image::before {
  content: "image";
}
.icon-thought::before {
  content: "chat";
}
.icon-down::before {
  content: "arrow_downward";
}
.icon-up::before {
  content: "arrow_upward";
}
.icon-point-down::before {
  content: "south";
}
.icon-point-up::before {
  content: "north";
}
.icon-light-mode::before {
  content: "light_mode";
}
.icon-dark-mode::before {
  content: "dark_mode";
}
:root {
  --bg-primary: #000000;
  --bg-secondary: #111111;
  --bg-tertiary: #1a1a1a;
  --bg-hover: #222222;
  --bg-active: #2a2a2a;
  --surface: #151515;
  --surface-glass: rgba(21, 21, 21, 0.7);
  --surface-border: rgba(255, 255, 255, 0.06);
  --text-primary: #e8e8f0;
  --text-secondary: #9898b0;
  --text-muted: #6868808a;
  --accent: #3B82F6;
  --accent-hover: #60A5FA;
  --accent-glow: rgba(59, 130, 246, 0.15);
  --accent-5: rgba(59, 130, 246, 0.05);
  --accent-8: rgba(59, 130, 246, 0.08);
  --accent-10: rgba(59, 130, 246, 0.10);
  --accent-12: rgba(59, 130, 246, 0.12);
  --accent-15: rgba(59, 130, 246, 0.15);
  --accent-18: rgba(59, 130, 246, 0.18);
  --accent-20: rgba(59, 130, 246, 0.20);
  --accent-25: rgba(59, 130, 246, 0.25);
  --accent-30: rgba(59, 130, 246, 0.30);
  --accent-35: rgba(59, 130, 246, 0.35);
  --accent-40: rgba(59, 130, 246, 0.40);
  --accent-60: rgba(59, 130, 246, 0.60);
  --success: #00d68f;
  --success-5: rgba(0, 214, 143, 0.05);
  --success-10: rgba(0, 214, 143, 0.10);
  --success-15: rgba(0, 214, 143, 0.15);
  --success-20: rgba(0, 214, 143, 0.20);
  --warning: #ffaa00;
  --warning-6: rgba(255, 170, 0, 0.06);
  --warning-10: rgba(255, 170, 0, 0.10);
  --warning-12: rgba(255, 170, 0, 0.12);
  --warning-15: rgba(255, 170, 0, 0.15);
  --warning-20: rgba(255, 170, 0, 0.20);
  --warning-40: rgba(255, 170, 0, 0.40);
  --error: #ff5757;
  --error-10: rgba(255, 87, 87, 0.10);
  --error-15: rgba(255, 87, 87, 0.15);
  --error-20: rgba(255, 87, 87, 0.20);
  --error-30: rgba(255, 87, 87, 0.30);
  --graph-units: var(--accent);
  --graph-members: var(--success);
  --graph-kb: #ffa600;
  --graph-tools: #ff6b6b;
  --graph-dpa: #e17055;
  --font-sans:
    "Lexend Deca",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  --font-mono:
    "JetBrains Mono",
    "Fira Code",
    monospace;
  --text-weight-medium: 300;
  --text-weight-semibold: 400;
  --text-weight-bold: 600;
  --sidebar-width: 280px;
  --input-height: 56px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}
[data-theme=light] {
  --bg-primary: #f5f5f7;
  --bg-secondary: #ffffff;
  --bg-tertiary: #e8e8ec;
  --bg-hover: #ececf0;
  --bg-active: #dddde8;
  --surface: #ffffff;
  --surface-glass: rgba(255, 255, 255, 0.85);
  --surface-border: rgba(0, 0, 0, 0.08);
  --text-primary: #111118;
  --text-secondary: #4a4a6a;
  --text-muted: rgba(80, 80, 110, 0.55);
  --accent-glow: rgba(59, 130, 246, 0.10);
  --accent-5: rgba(59, 130, 246, 0.04);
  --accent-8: rgba(59, 130, 246, 0.07);
  --accent-10: rgba(59, 130, 246, 0.09);
  --accent-12: rgba(59, 130, 246, 0.11);
  --accent-15: rgba(59, 130, 246, 0.13);
  --accent-18: rgba(59, 130, 246, 0.15);
  --accent-20: rgba(59, 130, 246, 0.17);
  --accent-25: rgba(59, 130, 246, 0.20);
  --accent-30: rgba(59, 130, 246, 0.25);
  --accent-35: rgba(59, 130, 246, 0.30);
  --accent-40: rgba(59, 130, 246, 0.35);
  --accent-60: rgba(59, 130, 246, 0.50);
  --success-5: rgba(0, 214, 143, 0.06);
  --success-10: rgba(0, 214, 143, 0.10);
  --success-15: rgba(0, 214, 143, 0.14);
  --success-20: rgba(0, 214, 143, 0.18);
  --warning-6: rgba(255, 170, 0, 0.07);
  --warning-10: rgba(255, 170, 0, 0.10);
  --warning-12: rgba(255, 170, 0, 0.12);
  --warning-15: rgba(255, 170, 0, 0.14);
  --warning-20: rgba(255, 170, 0, 0.18);
  --warning-40: rgba(255, 170, 0, 0.35);
  --error-10: rgba(255, 87, 87, 0.10);
  --error-15: rgba(255, 87, 87, 0.14);
  --error-20: rgba(255, 87, 87, 0.18);
  --error-30: rgba(255, 87, 87, 0.25);
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html,
body {
  height: 100%;
  background: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
}
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--bg-hover);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--bg-active);
}
button {
  font-family: inherit;
  border: none;
  background: none;
  cursor: pointer;
  color: inherit;
}
input,
textarea {
  font-family: inherit;
  border: none;
  background: none;
  color: inherit;
  outline: none;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 0.4;
  }
  50% {
    opacity: 1;
  }
}
@keyframes typing {
  0% {
    content: "";
  }
  33% {
    content: ".";
  }
  66% {
    content: "..";
  }
  100% {
    content: "...";
  }
}
.fade-in {
  animation: fadeIn 0.3s var(--ease-smooth) forwards;
}
.slide-in {
  animation: slideIn 0.3s var(--ease-smooth) forwards;
}

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