/* V2Board beta cyber theme (safe override only) */
:root {
  --cyber-bg-0: #06090f;
  --cyber-bg-1: #0b111a;
  --cyber-bg-2: #121b27;
  --cyber-surface: rgba(16, 24, 36, 0.86);
  --cyber-surface-strong: #151f2d;
  --cyber-border: rgba(77, 224, 255, 0.28);
  --cyber-text: #e7f0ff;
  --cyber-text-soft: #9db0cb;
  --cyber-primary: #00d1ff;
  --cyber-accent: #55ffb4;
  --cyber-danger: #ff647c;
  --cyber-shadow: 0 10px 35px rgba(0, 0, 0, 0.45);
}

html,
body,
#root {
  min-height: 100%;
}

body {
  color: var(--cyber-text);
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(0, 209, 255, 0.12), transparent 58%),
    radial-gradient(1000px 460px at 90% -15%, rgba(85, 255, 180, 0.1), transparent 60%),
    linear-gradient(155deg, var(--cyber-bg-0), var(--cyber-bg-1) 45%, var(--cyber-bg-2));
  font-family: "Rajdhani", "Exo 2", "PingFang SC", "Microsoft YaHei", sans-serif;
  letter-spacing: 0.2px;
}

a {
  color: var(--cyber-primary);
}

a:hover {
  color: #63e8ff;
}

.cyber-bg-layer {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(0, 209, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 209, 255, 0.05) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(circle at 50% 20%, black 35%, transparent 85%);
}

#root,
.ant-layout,
.ant-layout-content {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

.ant-layout-sider,
.ant-layout-header,
.ant-menu,
.ant-menu-dark,
.ant-menu-dark .ant-menu-sub {
  background: rgba(8, 14, 23, 0.88) !important;
  backdrop-filter: blur(8px);
}

.ant-menu-dark .ant-menu-item-selected,
.ant-menu-dark .ant-menu-submenu-selected,
.ant-menu-dark .ant-menu-item-active,
.ant-menu-dark .ant-menu-submenu-title:hover,
.ant-menu-dark .ant-menu-item:hover {
  background: linear-gradient(90deg, rgba(0, 209, 255, 0.2), rgba(85, 255, 180, 0.08)) !important;
}

.ant-card,
.ant-modal-content,
.ant-drawer-content,
.ant-list,
.ant-popover-inner,
.ant-dropdown-menu,
.ant-select-dropdown,
.ant-picker-panel,
.ant-message-notice-content,
.ant-notification-notice {
  background: var(--cyber-surface) !important;
  color: var(--cyber-text);
  border: 1px solid var(--cyber-border);
  box-shadow: var(--cyber-shadow);
}

.ant-card-head,
.ant-modal-header,
.ant-drawer-header,
.ant-table-thead > tr > th,
.ant-descriptions-view,
.ant-descriptions-item-label,
.ant-descriptions-item-content {
  background: rgba(18, 28, 42, 0.9) !important;
  color: var(--cyber-text) !important;
  border-color: rgba(96, 133, 173, 0.35) !important;
}

.ant-table,
.ant-table-container,
.ant-table-content,
.ant-table-tbody > tr > td {
  background: rgba(14, 22, 34, 0.82) !important;
  color: var(--cyber-text);
  border-color: rgba(96, 133, 173, 0.22) !important;
}

.ant-table-tbody > tr.ant-table-row:hover > td {
  background: rgba(0, 209, 255, 0.08) !important;
}

.ant-input,
.ant-input-affix-wrapper,
.ant-input-number,
.ant-select-selector,
.ant-picker,
.ant-mentions,
textarea.ant-input,
.ant-form-item-control-input-content input {
  background: rgba(12, 20, 32, 0.88) !important;
  color: var(--cyber-text) !important;
  border: 1px solid rgba(99, 137, 180, 0.45) !important;
}

.ant-input::placeholder,
textarea.ant-input::placeholder {
  color: var(--cyber-text-soft) !important;
}

.ant-input:hover,
.ant-input:focus,
.ant-input-affix-wrapper-focused,
.ant-select-focused .ant-select-selector,
.ant-picker-focused {
  border-color: var(--cyber-primary) !important;
  box-shadow: 0 0 0 2px rgba(0, 209, 255, 0.15) !important;
}

.ant-btn {
  border-radius: 10px;
}

.ant-btn-primary {
  border-color: transparent !important;
  color: #001018 !important;
  background: linear-gradient(120deg, var(--cyber-primary), #76ffe1) !important;
  box-shadow: 0 6px 18px rgba(0, 209, 255, 0.35);
}

.ant-btn-primary:hover,
.ant-btn-primary:focus {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.ant-btn-default,
.ant-btn-dashed,
.ant-btn-link {
  color: var(--cyber-text);
  border-color: rgba(99, 137, 180, 0.5);
  background: rgba(16, 25, 39, 0.55);
}

.ant-tag,
.ant-badge-count,
.ant-alert {
  border-color: rgba(84, 223, 255, 0.35);
}

.ant-typography,
.ant-statistic-title,
.ant-statistic-content,
.ant-form-item-label > label,
.ant-tabs-tab,
.ant-radio-wrapper,
.ant-checkbox-wrapper,
.ant-select-item,
.ant-pagination-item a,
.ant-pagination-total-text,
.ant-empty-description,
.ant-result-subtitle,
.ant-list-item-meta-title,
.ant-list-item-meta-description {
  color: var(--cyber-text) !important;
}

.ant-tabs-ink-bar {
  background: linear-gradient(90deg, var(--cyber-primary), var(--cyber-accent));
}

.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: #8beeff !important;
}

.ant-divider {
  border-color: rgba(96, 133, 173, 0.35) !important;
}

.cyber-reveal {
  opacity: 0;
  transform: translateY(10px);
  animation: cyberReveal 0.45s ease forwards;
}

@keyframes cyberReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1024px) {
  .ant-card,
  .ant-modal-content,
  .ant-table,
  .ant-table-container {
    border-radius: 12px;
  }
}

@media (max-width: 768px) {
  body {
    letter-spacing: 0;
  }

  .ant-btn {
    min-height: 38px;
  }

  .ant-table {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cyber-reveal {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* Fallback coverage for V2Board bootstrap-style auth pages */
#page-container,
#main-container,
.v2board-background {
  background:
    radial-gradient(1200px 520px at 10% -10%, rgba(0, 209, 255, 0.12), transparent 58%),
    radial-gradient(1000px 500px at 90% -15%, rgba(85, 255, 180, 0.09), transparent 62%),
    linear-gradient(155deg, var(--cyber-bg-0), var(--cyber-bg-1) 45%, var(--cyber-bg-2)) !important;
}

.v2board-auth-box .block,
.v2board-auth-box .bg-white,
.v2board-auth-box .block-content,
.v2board-auth-box .bg-gray-lighter {
  background: rgba(14, 22, 34, 0.9) !important;
  color: var(--cyber-text) !important;
  border: 1px solid rgba(77, 224, 255, 0.25);
}

.v2board-auth-box .font-size-h1,
.v2board-auth-box .font-size-h1 .text-dark,
.v2board-auth-box .font-size-sm,
.v2board-auth-box .text-muted {
  color: var(--cyber-text) !important;
}

.v2board-auth-box .form-control,
.v2board-auth-box .form-control-alt {
  background: rgba(8, 14, 24, 0.88) !important;
  color: var(--cyber-text) !important;
  border: 1px solid rgba(99, 137, 180, 0.45) !important;
}

.v2board-auth-box .form-control:focus {
  border-color: var(--cyber-primary) !important;
  box-shadow: 0 0 0 2px rgba(0, 209, 255, 0.15) !important;
}

.v2board-auth-box .btn-primary,
.v2board-auth-box .btn.btn-primary {
  border: 0 !important;
  color: #001018 !important;
  background: linear-gradient(120deg, var(--cyber-primary), #76ffe1) !important;
  box-shadow: 0 6px 18px rgba(0, 209, 255, 0.35);
}

.v2board-auth-box .btn-primary:hover,
.v2board-auth-box .btn-primary:focus {
  filter: brightness(1.06);
}

/* =============================
   Authenticated Dashboard Theme
   (tech + glass + apple-like)
   ============================= */
#page-container.sidebar-o,
#main-container {
  background: transparent !important;
}

#page-container.sidebar-o #sidebar {
  background: linear-gradient(180deg, rgba(9, 16, 28, 0.96), rgba(9, 16, 28, 0.86)) !important;
  border-right: 1px solid rgba(74, 114, 156, 0.32);
  box-shadow: 8px 0 26px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(14px);
}

#sidebar .content-side,
#sidebar .content-side-full,
#sidebar .side-scroll {
  background: transparent !important;
}

#sidebar .content-header {
  background: rgba(12, 21, 36, 0.5) !important;
  border-bottom: 1px solid rgba(77, 224, 255, 0.2);
}

#sidebar .content-header a,
#sidebar .content-header .text-white,
#sidebar .content-header .text-white-75 {
  color: #d7e6ff !important;
}

#sidebar .nav-main-heading {
  color: #7f95b4 !important;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#sidebar .nav-main-link {
  color: #c6d6ef !important;
  border-radius: 12px;
  margin: 2px 10px;
  transition: all 0.2s ease;
}

#sidebar .nav-main-link:hover,
#sidebar .nav-main-link.active {
  color: #ebf5ff !important;
  background: linear-gradient(100deg, rgba(0, 209, 255, 0.2), rgba(85, 255, 180, 0.1)) !important;
  box-shadow: 0 6px 20px rgba(0, 122, 200, 0.18);
}

#sidebar .nav-main-link .nav-main-link-icon,
#sidebar .nav-main-link .si {
  color: #79d8ff !important;
}

#sidebar .v2board-copyright {
  color: #7f95b4 !important;
  opacity: 0.9;
}

#page-header,
#page-header .bg-header-dark,
#page-header .content-header,
.page-header-dark #page-header {
  background: rgba(10, 20, 34, 0.76) !important;
  border-bottom: 1px solid rgba(77, 224, 255, 0.22);
  backdrop-filter: blur(14px);
}

#page-header .content-header,
#page-header .content-header .text-white {
  color: #e7f0ff !important;
}

#page-header .btn,
#page-header .dropdown-toggle,
#page-header .ant-dropdown-trigger {
  background: rgba(16, 28, 44, 0.7) !important;
  border: 1px solid rgba(88, 130, 173, 0.45) !important;
  color: #d9e8ff !important;
  border-radius: 10px;
}

#page-header .btn:hover,
#page-header .dropdown-toggle:hover {
  border-color: rgba(103, 219, 255, 0.7) !important;
  color: #f1f8ff !important;
}

#main-container .content,
#main-container .content-full {
  background: transparent !important;
}

#main-container .block,
#main-container .block.block-rounded,
#main-container .block.block-fx-pop {
  background: rgba(16, 24, 36, 0.78) !important;
  border: 1px solid rgba(77, 224, 255, 0.2);
  border-radius: 16px !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
  overflow: hidden;
}

#main-container .block-header,
#main-container .block-header-default {
  background: rgba(18, 28, 42, 0.84) !important;
  border-bottom: 1px solid rgba(77, 224, 255, 0.16);
}

#main-container .block-title,
#main-container h1,
#main-container h2,
#main-container h3,
#main-container h4,
#main-container h5,
#main-container h6 {
  color: #e7f0ff !important;
}

#main-container .block-content,
#main-container .font-size-sm,
#main-container p,
#main-container span,
#main-container div {
  color: #c7d8f2;
}

#main-container .text-muted {
  color: #8ca3c2 !important;
}

#main-container .text-white,
#main-container .text-dark {
  color: #e9f1ff !important;
}

#main-container .v2board-shortcuts-item,
#main-container .v2board-shortcuts-item > div {
  background: rgba(12, 20, 31, 0.62) !important;
  border-color: rgba(77, 224, 255, 0.22) !important;
  transition: all 0.2s ease;
}

#main-container .v2board-shortcuts-item:hover,
#main-container .v2board-shortcuts-item:hover > div {
  background: rgba(15, 27, 42, 0.88) !important;
  border-color: rgba(110, 236, 255, 0.56) !important;
  transform: translateY(-2px);
}

#main-container .v2board-shortcuts-item .description {
  color: #90a8c8 !important;
}

#main-container .btn,
#main-container .btn-primary,
#main-container .btn-alt-primary {
  border-radius: 10px;
}

#main-container .btn-primary,
#main-container .btn-alt-primary {
  border: none !important;
  color: #001018 !important;
  background: linear-gradient(120deg, #00d1ff, #76ffe1) !important;
  box-shadow: 0 6px 18px rgba(0, 209, 255, 0.35);
}

#main-container .btn-outline-primary,
#main-container .btn-alt-secondary,
#main-container .btn-secondary {
  color: #d9e9ff !important;
  border-color: rgba(91, 130, 173, 0.56) !important;
  background: rgba(16, 27, 42, 0.52) !important;
}

#main-container .form-control,
#main-container .form-control-alt,
#main-container .custom-select,
#main-container textarea,
#main-container input {
  background: rgba(10, 17, 28, 0.86) !important;
  color: #e4eeff !important;
  border: 1px solid rgba(99, 137, 180, 0.5) !important;
}

#main-container .form-control::placeholder,
#main-container textarea::placeholder {
  color: #7f96b6 !important;
}

#main-container .form-control:focus,
#main-container .custom-select:focus,
#main-container input:focus,
#main-container textarea:focus {
  border-color: #5be3ff !important;
  box-shadow: 0 0 0 2px rgba(0, 209, 255, 0.15) !important;
}

#main-container .table,
#main-container .table thead th,
#main-container .table tbody td,
#main-container .table tbody th {
  background: rgba(12, 21, 33, 0.78) !important;
  color: #d7e7ff !important;
  border-color: rgba(92, 132, 174, 0.33) !important;
}

#main-container .table-hover tbody tr:hover,
#main-container .table tbody tr:hover {
  background: rgba(0, 209, 255, 0.08) !important;
}

.dropdown-menu,
#page-header .dropdown-menu,
.ant-dropdown-menu {
  background: rgba(13, 22, 34, 0.94) !important;
  border: 1px solid rgba(77, 224, 255, 0.25) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(12px);
}

.dropdown-item,
.ant-dropdown-menu-item {
  color: #d7e8ff !important;
}

.dropdown-item:hover,
.ant-dropdown-menu-item:hover {
  background: rgba(0, 209, 255, 0.12) !important;
  color: #f2f9ff !important;
}

.modal-content,
.ant-modal-content,
.ant-drawer-content {
  background: rgba(14, 22, 34, 0.94) !important;
  border: 1px solid rgba(77, 224, 255, 0.24);
  color: #dbe9ff;
}

@media (max-width: 992px) {
  #page-container.sidebar-o #sidebar {
    backdrop-filter: blur(10px);
  }

  #main-container .block,
  #main-container .block.block-rounded {
    border-radius: 13px !important;
  }
}
