/* ==========================================================================
   Proteccio Enterprise Design System — Dark Navy & Emerald Green Dashboard
   Master UI Design Specification
   
   - Primary Background:     #080F1C
   - Secondary Background:   #0B1423
   - Main Content Area:      #091321
   - Card Background:        #101B2D
   - Secondary Card Surface: #111E32
   - Elevated Surface:       #142139
   - Forest Green Sidebar:   #002619 / #002D1E
   - Active Nav Background:  #245B48
   - Sidebar Text:           #B8C8C2 / Active: #FFFFFF
   - Section Labels:         #78958A
   - Primary Emerald:        #08B66A / Secondary: #059B5B
   - Borders:                #1D2B42 (Standard), #19263B (Subtle), #087A50 (Active)
   - Text Colors:            #F1F5F9 (Primary), #A6B4C7 (Secondary), #718198 (Muted)
   ========================================================================== */

/* --- 1. Global Reset & Enterprise Application Canvas --- */
[data-theme='dark'] body,
html.dark body,
body.theme-dark {
  background-color: #080F1C !important;
  background-image: none !important;
  color: #F1F5F9 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

[data-theme='light'] body,
html.light body {
  background-color: #F4F7F6 !important;
  background-image: none !important;
  color: #0B1221 !important;
}

/* Base Layout Overrides */
.ant-layout {
  background-color: #080F1C !important;
}

.ant-layout-content {
  background-color: #091321 !important;
  color: #F1F5F9 !important;
}

/* --- 2. Auth Pages & Hero Surface --- */
.ant-layout:has(.auth-login-card),
.ant-layout:has(.auth-signup-card),
.ant-layout:has(.auth-forgot-password-card) {
  background: #080F1C !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ant-layout:has(.auth-login-card)::before,
.ant-layout:has(.auth-signup-card)::before,
.ant-layout:has(.auth-forgot-password-card)::before,
.ant-layout:has(.auth-login-card)::after,
.ant-layout:has(.auth-signup-card)::after,
.ant-layout:has(.auth-forgot-password-card)::after {
  display: none !important;
}

.auth-login-card.ant-card,
.auth-forgot-password-card.ant-card,
.auth-signup-card.ant-card {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.auth-login-card .ant-card-body,
.auth-forgot-password-card .ant-card-body,
.auth-signup-card .ant-card-body {
  background: transparent !important;
  padding: 32px 36px !important;
}

/* Remove decorative pseudo-bars across all cards */
.auth-login-card.ant-card::before,
.auth-forgot-password-card.ant-card::before,
.auth-signup-card.ant-card::before,
.ant-card::before {
  display: none !important;
}

/* --- 3. Top Navigation / Main Header --- */
.ant-layout-header,
.main-header,
header.ant-layout-header {
  background: #0B1423 !important;
  border-bottom: 1px solid #1D2B42 !important;
  height: 68px !important;
  line-height: normal !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
}

.proteccio-navbar {
  min-height: 68px !important;
  background: transparent !important;
}

.proteccio-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.proteccio-brand-mark {
  width: 32px;
  height: 36px;
  object-fit: contain;
  filter: none !important;
}

/* Hide standalone text name in favor of the complete full logo */
.proteccio-brand-name {
  display: none !important;
}

.proteccio-full-logo,
.proteccio-brand-lockup img {
  height: 28px !important;
  max-height: 36px !important;
  max-width: 160px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Header Top Menu Items */
.ant-menu-horizontal {
  background: transparent !important;
  border-bottom: none !important;
}

.ant-menu-horizontal > .ant-menu-item,
.ant-menu-horizontal > .ant-menu-submenu {
  height: 38px !important;
  line-height: 38px !important;
  padding-inline: 14px !important;
  border-radius: 8px !important;
  margin-inline: 2px !important;
  top: 0 !important;
  border: none !important;
  color: #B8C8C2 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  transition: all 0.15s ease !important;
}

.ant-menu-horizontal > .ant-menu-item::after,
.ant-menu-horizontal > .ant-menu-submenu::after,
.ant-menu-horizontal > .ant-menu-item-selected::before {
  display: none !important;
}

.ant-menu-horizontal > .ant-menu-item:hover,
.ant-menu-horizontal > .ant-menu-submenu:hover {
  background: #142139 !important;
  color: #FFFFFF !important;
}

.ant-menu-horizontal > .ant-menu-item-selected {
  background: #245B48 !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
  border: none !important;
}

.ant-menu-horizontal > .ant-menu-item-selected a {
  color: #FFFFFF !important;
}

/* Header Circular Icon Buttons */
.ant-layout-header .ant-btn-circle,
.ant-layout-header .ant-btn-icon-only {
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  border: 1px solid #1D2B42 !important;
  background: #101B2D !important;
  color: #A6B4C7 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: all 0.15s ease !important;
}

.ant-layout-header .ant-btn-circle:hover,
.ant-layout-header .ant-btn-icon-only:hover {
  background: #142139 !important;
  border-color: #087A50 !important;
  color: #08B66A !important;
  transform: none !important;
}

/* Circular User Avatar */
.ant-avatar {
  background-color: #08B66A !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  border: 1px solid #1D2B42 !important;
  width: 34px !important;
  height: 34px !important;
  line-height: 32px !important;
}

/* --- 4. Sidebar Navigation (Left Panel) --- */
.ant-layout-sider,
.sidebar,
.proteccio-sidebar,
.admin-center-sidebar,
.settings-sidebar {
  background: #002619 !important;
  border-right: 1px solid #1D2B42 !important;
}

/* Sidebar Section Labels */
.sidebar-section-label,
.nav-section-label,
.menu-section-label {
  color: #78958A !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 14px 16px 6px !important;
}

/* Sidebar Navigation Items */
.ant-layout-sider .ant-menu,
.sidebar .ant-menu,
.proteccio-admin-center .ant-menu,
.settings-sidebar .ant-menu {
  background: transparent !important;
  border-right: none !important;
  padding: 6px !important;
}

.ant-layout-sider .ant-menu-item,
.sidebar .ant-menu-item,
.proteccio-admin-center .ant-menu-item,
.settings-sidebar .ant-menu-item {
  height: 42px !important;
  line-height: 42px !important;
  border-radius: 8px !important;
  margin: 3px 0 !important;
  padding: 0 14px !important;
  color: #B8C8C2 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  transition: all 0.15s ease !important;
}

.ant-layout-sider .ant-menu-item:hover,
.sidebar .ant-menu-item:hover,
.proteccio-admin-center .ant-menu-item:hover,
.settings-sidebar .ant-menu-item:hover {
  background: #002D1E !important;
  color: #FFFFFF !important;
}

.ant-layout-sider .ant-menu-item-selected,
.sidebar .ant-menu-item-selected,
.proteccio-admin-center .ant-menu-item-selected,
.settings-sidebar .ant-menu-item-selected {
  background: #245B48 !important;
  color: #FFFFFF !important;
}

.ant-layout-sider .ant-menu-item-selected a,
.sidebar .ant-menu-item-selected a,
.proteccio-admin-center .ant-menu-item-selected a,
.settings-sidebar .ant-menu-item-selected a,
.ant-layout-sider .ant-menu-item-selected .anticon,
.sidebar .ant-menu-item-selected .anticon,
.proteccio-admin-center .ant-menu-item-selected .anticon,
.settings-sidebar .ant-menu-item-selected .anticon {
  color: #FFFFFF !important;
}

.ant-layout-sider .ant-menu-item .anticon,
.sidebar .ant-menu-item .anticon,
.proteccio-admin-center .ant-menu-item .anticon,
.settings-sidebar .ant-menu-item .anticon {
  color: #08B66A !important;
}

/* User profile panel near bottom of sidebar */
.sidebar-user-panel {
  border-top: 1px solid #1D2B42;
  padding: 12px 16px;
  background: #002D1E;
}

/* --- 5. Dashboard Cards & Statistics --- */
.ant-card,
.proteccio-panel,
.project-card.ant-card {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: border-color 0.15s ease !important;
  position: relative !important;
}

.ant-card-hoverable:hover,
.ant-card.interactive-hover:hover,
.proteccio-panel:hover {
  border-color: #245B48 !important;
  transform: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28) !important;
}

.ant-card .ant-card-head {
  background: #101B2D !important;
  border-bottom: 1px solid #1D2B42 !important;
  color: #F1F5F9 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 0 18px !important;
  min-height: 46px !important;
}

.ant-card .ant-card-body {
  background: transparent !important;
  padding: 18px !important;
  color: #F1F5F9 !important;
}

/* Statistics Cards Layout */
.proteccio-home__statbar {
  display: grid !important;
  grid-template-columns: 1.25fr repeat(4, 1fr) !important;
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 28px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.proteccio-home__stat {
  min-height: 84px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px 20px !important;
  border-left: 1px solid #1D2B42 !important;
  background: #101B2D !important;
}

.proteccio-home__stat:first-child {
  border-left: 0 !important;
}

.proteccio-home__stat-ring {
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: conic-gradient(#08B66A 0 82%, #1D2B42 82% 100%) !important;
  position: relative !important;
}

.proteccio-home__stat-ring::after {
  content: '' !important;
  position: absolute !important;
  inset: 5px !important;
  border-radius: 50% !important;
  background: #101B2D !important;
}

.proteccio-home__stat-ring span {
  position: relative !important;
  z-index: 1 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #F1F5F9 !important;
}

.proteccio-home__stat-value {
  display: block !important;
  color: #F1F5F9 !important;
  font-size: 26px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

.proteccio-home__stat-value.green {
  color: #10B981 !important;
}

.proteccio-home__stat-value.amber {
  color: #F59E0B !important;
}

.proteccio-home__stat-value.red {
  color: #EF4444 !important;
}

.proteccio-home__stat-label {
  display: block !important;
  margin-top: 4px !important;
  color: #718198 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* Secondary Card Surface */
.card-secondary,
.stat-card-secondary {
  background: #111E32 !important;
  border-color: #1D2B42 !important;
}

/* --- 6. Professional Enterprise Tables --- */
.ant-table-wrapper {
  background: transparent !important;
}

.ant-table-wrapper .ant-table {
  background: #101B2D !important;
}

.ant-table-wrapper .ant-table-container {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ant-table-thead > tr > th {
  background: #142139 !important;
  border-bottom: 1px solid #1D2B42 !important;
  color: #A6B4C7 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 12px 16px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ant-table-tbody > tr > td {
  background: #101B2D !important;
  border-bottom: 1px solid #19263B !important;
  color: #F1F5F9 !important;
  font-size: 13px !important;
  padding: 12px 16px !important;
  transition: background 0.15s ease !important;
}

.ant-table-tbody > tr:hover > td {
  background: #142139 !important;
}

.ant-table-pagination.ant-pagination {
  margin: 16px 0 !important;
}

/* --- 7. Search, Filters, Inputs & Form Controls --- */
.ant-input,
.ant-input-password,
.ant-select:not(.ant-select-customize-input) .ant-select-selector,
.ant-input-affix-wrapper {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 7px !important;
  color: #F1F5F9 !important;
  font-size: 13px !important;
  height: 38px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.ant-input-affix-wrapper .ant-input {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  color: #F1F5F9 !important;
  height: auto !important;
}

.ant-input::placeholder,
.ant-input-affix-wrapper input::placeholder,
.ant-select-selection-placeholder {
  color: #718198 !important;
}

.ant-select-selection-item {
  color: #F1F5F9 !important;
}

.ant-input-prefix {
  margin-right: 8px !important;
  color: #718198 !important;
}

.ant-input:focus,
.ant-input-focused,
.ant-input-affix-wrapper:focus,
.ant-input-affix-wrapper-focused,
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector,
.ant-select:not(.ant-select-disabled):hover .ant-select-selector {
  border-color: #08B66A !important;
  box-shadow: 0 0 0 2px rgba(8, 182, 106, 0.2) !important;
}

/* Checkbox & Radios */
.ant-checkbox-inner {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ant-checkbox-checked .ant-checkbox-inner,
.ant-checkbox-indeterminate .ant-checkbox-inner {
  background: #08B66A !important;
  border-color: #08B66A !important;
  box-shadow: none !important;
}

.ant-checkbox-wrapper:hover .ant-checkbox-inner,
.ant-checkbox:hover .ant-checkbox-inner {
  border-color: #08B66A !important;
}

.ant-radio-inner {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
}

.ant-radio-checked .ant-radio-inner {
  border-color: #08B66A !important;
}

.ant-radio-inner::after {
  background-color: #08B66A !important;
}

/* Selection Cards */
.selection-card {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  transition: all 0.15s ease !important;
}

.selection-card:hover {
  border-color: #245B48 !important;
}

.selection-card-selected,
.ant-radio-button-wrapper-checked {
  background: rgba(8, 182, 106, 0.08) !important;
  border-color: #08B66A !important;
  color: #08B66A !important;
}

/* Switch */
.ant-switch {
  background: #1D2B42 !important;
}

.ant-switch.ant-switch-checked {
  background: #08B66A !important;
  box-shadow: none !important;
}

/* --- 8. Buttons & Actions --- */
/* Primary Buttons */
.ant-btn-primary,
.proteccio-home__actions .ant-btn-primary {
  background: #08B66A !important;
  border: 1px solid #08B66A !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  border-radius: 8px !important;
  height: 38px !important;
  padding: 0 16px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
  transition: all 0.15s ease !important;
}

.ant-btn-primary:not(:disabled):hover,
.proteccio-home__actions .ant-btn-primary:hover {
  background: #059B5B !important;
  border-color: #059B5B !important;
  color: #FFFFFF !important;
  transform: none !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Secondary Buttons */
.ant-btn-default,
.proteccio-home__actions .ant-btn {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 8px !important;
  color: #F1F5F9 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  height: 38px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: all 0.15s ease !important;
}

.ant-btn-default:not(:disabled):hover,
.proteccio-home__actions .ant-btn:hover {
  background: #142139 !important;
  border-color: #1D2B42 !important;
  color: #F1F5F9 !important;
  transform: none !important;
}

/* Destructive Buttons */
.ant-btn-dangerous,
.ant-btn-danger {
  background: rgba(239, 68, 68, 0.12) !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  color: #EF4444 !important;
  border-radius: 8px !important;
}

.ant-btn-dangerous:not(:disabled):hover,
.ant-btn-danger:not(:disabled):hover {
  background: rgba(239, 68, 68, 0.2) !important;
  border-color: #EF4444 !important;
  color: #FFFFFF !important;
}

/* Dropdown Split Button on Dashboard */
.proteccio-create-project.ant-dropdown-button {
  display: inline-flex;
  height: 38px;
  overflow: hidden;
  border-radius: 8px;
}

.proteccio-create-project.ant-dropdown-button > .ant-btn:first-child {
  height: 38px !important;
  border-radius: 8px 0 0 8px !important;
  background: #08B66A !important;
  border-color: #08B66A !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

.proteccio-create-project.ant-dropdown-button > .ant-dropdown-trigger {
  min-width: 36px !important;
  height: 38px !important;
  border-radius: 0 8px 8px 0 !important;
  background: #059B5B !important;
  border-color: #059B5B !important;
  color: #FFFFFF !important;
}

/* --- 9. Status Badges & Tags --- */
.ant-tag {
  border-radius: 6px !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  box-shadow: none !important;
}

/* Active Status Badge */
.pc-badge-cyan,
.ant-tag.pc-tag-cyan,
.ant-tag-success {
  color: #10B981 !important;
  background: rgba(16, 185, 129, 0.12) !important;
  border: 1px solid rgba(16, 185, 129, 0.25) !important;
  box-shadow: none !important;
}

/* Draft Status Badge */
.pc-badge-amber,
.ant-tag.pc-tag-amber,
.ant-tag-warning {
  color: #F59E0B !important;
  background: rgba(245, 158, 11, 0.12) !important;
  border: 1px solid rgba(245, 158, 11, 0.25) !important;
  box-shadow: none !important;
}

/* Pending Status Badge */
.pc-badge-admin,
.ant-tag.pc-tag-admin,
.ant-tag-processing,
.ant-tag-info {
  color: #2684D9 !important;
  background: rgba(38, 132, 217, 0.12) !important;
  border: 1px solid rgba(38, 132, 217, 0.25) !important;
  box-shadow: none !important;
}

/* Rejected Status Badge */
.pc-badge-red,
.ant-tag.pc-tag-red,
.ant-tag-error {
  color: #EF4444 !important;
  background: rgba(239, 68, 68, 0.12) !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
  box-shadow: none !important;
}

/* Archived Status Badge */
.ant-tag-default {
  color: #718198 !important;
  background: rgba(113, 129, 152, 0.12) !important;
  border: 1px solid rgba(113, 129, 152, 0.25) !important;
  box-shadow: none !important;
}

/* --- 10. Modals, Dropdowns & Popovers --- */
.ant-modal-mask {
  background-color: rgba(8, 15, 28, 0.75) !important;
}

.ant-modal .ant-modal-content,
.ant-drawer .ant-drawer-content {
  background: #101B2D !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ant-modal .ant-modal-header {
  background: transparent !important;
  border-bottom: 1px solid #1D2B42 !important;
  padding-bottom: 14px !important;
}

.ant-modal .ant-modal-title {
  color: #F1F5F9 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

.ant-dropdown .ant-dropdown-menu,
.ant-select-dropdown,
.ant-popover .ant-popover-inner {
  background: #142139 !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
  padding: 4px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ant-dropdown-menu .ant-dropdown-menu-item,
.ant-select-item {
  color: #A6B4C7 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  transition: all 0.15s ease !important;
}

.ant-dropdown-menu .ant-dropdown-menu-item:hover,
.ant-select-item-option-active {
  background: #111E32 !important;
  color: #F1F5F9 !important;
}

.ant-dropdown-menu .ant-dropdown-menu-item-selected,
.ant-select-item-option-selected {
  background: #245B48 !important;
  color: #FFFFFF !important;
}

/* --- 11. Tabs & Secondary Navigation --- */
.ant-tabs-nav::before {
  border-bottom: 1px solid #1D2B42 !important;
}

.ant-tabs-ink-bar {
  background: #08B66A !important;
  height: 2px !important;
  box-shadow: none !important;
}

.ant-tabs-tab {
  color: #718198 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}

.ant-tabs-tab:hover {
  color: #A6B4C7 !important;
}

.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: #F1F5F9 !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

/* Segmented Control */
.ant-segmented {
  background: #111E32 !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 8px !important;
  padding: 3px !important;
}

.ant-segmented-item {
  color: #A6B4C7 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.ant-segmented-item-selected {
  background: #245B48 !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* --- 12. Charts & Data Visualization Containers --- */
.chart-container,
.chart-card,
.recharts-wrapper {
  background: #101B2D !important;
  color: #F1F5F9 !important;
}

.recharts-default-tooltip {
  background-color: #142139 !important;
  border: 1px solid #1D2B42 !important;
  border-radius: 8px !important;
  color: #F1F5F9 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.recharts-cartesian-grid line {
  stroke: #1D2B42 !important;
}

.recharts-text {
  fill: #718198 !important;
  font-size: 11px !important;
}

/* --- 13. Links & Typography Refinements --- */
.ant-typography,
p, h1, h2, h3, h4, h5, h6 {
  color: #F1F5F9;
}

.ant-typography-secondary,
.text-muted {
  color: #718198 !important;
}

.ant-typography-link,
.auth-login-link {
  color: #08B66A !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
  text-shadow: none !important;
}

.ant-typography-link:hover,
.auth-login-link:hover {
  color: #34D399 !important;
  text-shadow: none !important;
}

/* --- 14. Clean Enterprise Scrollbars --- */
[data-theme='dark'] ::-webkit-scrollbar-thumb,
html.dark ::-webkit-scrollbar-thumb {
  background: #1D2B42 !important;
  border-radius: 4px !important;
  border: 2px solid transparent !important;
  background-clip: content-box !important;
}

[data-theme='dark'] ::-webkit-scrollbar-thumb:hover,
html.dark ::-webkit-scrollbar-thumb:hover {
  background: #245B48 !important;
  box-shadow: none !important;
}

/* --- 15. Full-Width Enterprise Content Canvas (Fix Huge Side Gaps) --- */
.ant-layout-content,
.ant-layout-content.mx-auto,
main.ant-layout-content {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .ant-layout-content,
  .ant-layout-content.mx-auto,
  main.ant-layout-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Eliminate restrictive container max-widths and center margins */
.max-w-\[1400px\],
.max-w-\[1520px\],
.max-w-\[1600px\] {
  max-width: 100% !important;
}

/* Full Width & Fixed Header Safe Margin for Reporting Layout */
.proteccio-reporting-shell {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 68px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  min-height: calc(100vh - 68px) !important;
  overflow: visible !important;
  background: transparent !important;
}

.proteccio-reporting-layout .ant-layout-sider {
  position: fixed !important;
  top: 68px !important;
  left: 0 !important;
  height: calc(100vh - 68px) !important;
  z-index: 100 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.proteccio-reporting-shell > .ant-layout {
  min-height: calc(100vh - 68px) !important;
  overflow: visible !important;
  background: transparent !important;
}

.proteccio-reporting-content,
.proteccio-reporting-shell .proteccio-reporting-content {
  padding: 24px 32px 64px !important;
  min-height: calc(100vh - 68px) !important;
  overflow: visible !important;
}

/* Full Width for Home Dashboard */
.proteccio-home {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Full Width for Projects List & Cards */
.project-card.ant-card,
.project-group-container,
.project-list-container,
.proteccio-schedule-page {
  width: 100% !important;
  max-width: 100% !important;
}

/* Harmonize Navbar edge padding with content */
.ant-layout-header .proteccio-navbar {
  padding-left: 24px !important;
  padding-right: 24px !important;
  width: 100% !important;
}

@media (max-width: 768px) {
  .ant-layout-header .proteccio-navbar {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ==========================================================================
   --- 16. Futuristic Enterprise Glowing Effects & Ambient Lighting ---
   ========================================================================== */

/* 1. Global Atmospheric Ambient Lighting */
[data-theme='dark'] body,
html.dark body,
body.theme-dark {
  background-color: #080F1C !important;
  background-image: 
    radial-gradient(ellipse 90% 50% at 20% -10%, rgba(8, 182, 106, 0.1) 0%, transparent 60%),
    radial-gradient(ellipse 70% 40% at 85% 10%, rgba(38, 132, 217, 0.09) 0%, transparent 55%),
    radial-gradient(circle at 50% 90%, rgba(8, 182, 106, 0.05) 0%, transparent 65%) !important;
  background-attachment: fixed !important;
}

.ant-layout-content {
  background-color: transparent !important;
}

/* 2. Top Header Luminous Border & Active Pill Glow */
.ant-layout-header,
.main-header,
header.ant-layout-header {
  border-bottom: 1px solid rgba(29, 43, 66, 0.9) !important;
  box-shadow: 0 4px 20px -2px rgba(8, 182, 106, 0.14), 0 2px 10px rgba(0, 0, 0, 0.35) !important;
}

/* Active Header Nav Item (Home, Projects, Schedule, Reports) */
.ant-menu-horizontal > .ant-menu-item-selected {
  background: linear-gradient(135deg, rgba(36, 91, 72, 0.95), rgba(8, 182, 106, 0.4)) !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 16px rgba(8, 182, 106, 0.45), inset 0 0 10px rgba(8, 182, 106, 0.2) !important;
  border: 1px solid rgba(8, 182, 106, 0.55) !important;
}

.ant-menu-horizontal > .ant-menu-item:not(.ant-menu-item-selected):hover {
  background: #142139 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 12px rgba(8, 182, 106, 0.2) !important;
}

/* Circular User Avatar Glowing Aura */
.ant-avatar {
  box-shadow: 0 0 14px rgba(8, 182, 106, 0.55), 0 0 4px rgba(8, 182, 106, 0.8) !important;
  border: 1.5px solid #10B981 !important;
}

/* Header Action Buttons (Notification, Clock, etc.) */
.ant-layout-header .ant-btn-circle:hover,
.ant-layout-header .ant-btn-icon-only:hover {
  background: #142139 !important;
  border-color: rgba(8, 182, 106, 0.6) !important;
  color: #08B66A !important;
  box-shadow: 0 0 14px rgba(8, 182, 106, 0.4) !important;
}

/* 3. Primary CTA & Action Buttons Neon Glow */
.ant-btn-primary,
.proteccio-home__actions .ant-btn-primary,
.proteccio-create-project.ant-dropdown-button > .ant-btn:first-child {
  background: linear-gradient(135deg, #08B66A 0%, #059B5B 100%) !important;
  border: 1px solid rgba(52, 211, 153, 0.6) !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 18px rgba(8, 182, 106, 0.45), 0 2px 8px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ant-btn-primary:not(:disabled):hover,
.proteccio-home__actions .ant-btn-primary:hover,
.proteccio-create-project.ant-dropdown-button > .ant-btn:first-child:hover {
  background: linear-gradient(135deg, #10B981 0%, #08B66A 100%) !important;
  border-color: #34D399 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 26px rgba(8, 182, 106, 0.75), 0 0 10px rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-1px) !important;
}

.proteccio-create-project.ant-dropdown-button > .ant-dropdown-trigger {
  background: #059B5B !important;
  border: 1px solid rgba(52, 211, 153, 0.6) !important;
  box-shadow: 0 0 18px rgba(8, 182, 106, 0.45) !important;
}

/* Invite Button Glow */
.ant-btn:has(.anticon-user-add),
.ant-btn:has([aria-label="user-add"]),
button:has(.anticon-share-alt) {
  border-color: rgba(8, 182, 106, 0.4) !important;
  box-shadow: 0 0 12px rgba(8, 182, 106, 0.25) !important;
}

.ant-btn:has(.anticon-user-add):hover,
.ant-btn:has([aria-label="user-add"]):hover {
  border-color: #08B66A !important;
  box-shadow: 0 0 18px rgba(8, 182, 106, 0.5) !important;
  color: #08B66A !important;
}

/* 4. Statistics Cards, Gauge Rings & Metric Values Glow */
.proteccio-home__statbar {
  background: rgba(16, 27, 45, 0.85) !important;
  border: 1px solid rgba(29, 43, 66, 0.95) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), 0 0 24px rgba(8, 182, 106, 0.08) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.proteccio-home__stat-ring {
  filter: drop-shadow(0 0 10px rgba(8, 182, 106, 0.65)) !important;
  box-shadow: 0 0 18px rgba(8, 182, 106, 0.35) !important;
}

.proteccio-home__stat-value {
  text-shadow: 0 0 12px rgba(241, 245, 249, 0.25) !important;
}

.proteccio-home__stat-value.green {
  text-shadow: 0 0 14px rgba(16, 185, 129, 0.55) !important;
}

.proteccio-home__stat-value.amber {
  text-shadow: 0 0 14px rgba(245, 158, 11, 0.55) !important;
}

.proteccio-home__stat-value.red {
  text-shadow: 0 0 14px rgba(239, 68, 68, 0.55) !important;
}

/* 5. Enterprise Cards & Panels Glassmorphic Glow */
.ant-card,
.proteccio-panel,
.project-card.ant-card,
.overview-stat-card {
  background: rgba(16, 27, 45, 0.88) !important;
  border: 1px solid rgba(29, 43, 66, 0.9) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ant-card-hoverable:hover,
.ant-card.interactive-hover:hover,
.proteccio-panel:hover,
.project-card.ant-card:hover,
.overview-stat-card:hover {
  border-color: rgba(8, 182, 106, 0.5) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(8, 182, 106, 0.22) !important;
  transform: translateY(-1px) !important;
}

/* Reporting Overview Stat Icons Glow */
.overview-stat-icon {
  filter: drop-shadow(0 0 8px rgba(8, 182, 106, 0.45)) !important;
}

/* 6. Form Controls, Search & Inputs Glow */
.ant-input:focus,
.ant-input-focused,
.ant-input-affix-wrapper:focus,
.ant-input-affix-wrapper-focused,
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
  border-color: #08B66A !important;
  box-shadow: 0 0 0 2px rgba(8, 182, 106, 0.25), 0 0 16px rgba(8, 182, 106, 0.4) !important;
}

.ant-input:hover,
.ant-input-affix-wrapper:hover,
.ant-select:not(.ant-select-disabled):hover .ant-select-selector {
  border-color: rgba(8, 182, 106, 0.45) !important;
  box-shadow: 0 0 10px rgba(8, 182, 106, 0.15) !important;
}

/* 7. Status Badges & Pills Luminescent Glow */
.pc-badge-cyan,
.ant-tag.pc-tag-cyan,
.ant-tag-success {
  background: rgba(16, 185, 129, 0.14) !important;
  border: 1px solid rgba(16, 185, 129, 0.5) !important;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.4) !important;
  color: #10B981 !important;
}

.pc-badge-amber,
.ant-tag.pc-tag-amber,
.ant-tag-warning {
  background: rgba(245, 158, 11, 0.14) !important;
  border: 1px solid rgba(245, 158, 11, 0.5) !important;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.4) !important;
  color: #F59E0B !important;
}

.pc-badge-admin,
.ant-tag.pc-tag-admin,
.ant-tag-processing,
.ant-tag-info {
  background: rgba(38, 132, 217, 0.14) !important;
  border: 1px solid rgba(38, 132, 217, 0.5) !important;
  box-shadow: 0 0 12px rgba(38, 132, 217, 0.4) !important;
  color: #2684D9 !important;
}

.pc-badge-red,
.ant-tag.pc-tag-red,
.ant-tag-error {
  background: rgba(239, 68, 68, 0.14) !important;
  border: 1px solid rgba(239, 68, 68, 0.5) !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.4) !important;
  color: #EF4444 !important;
}

/* 8. Progress Bar Glowing Neon Fill */
.ant-progress-bg {
  background: linear-gradient(90deg, #08B66A, #10B981) !important;
  box-shadow: 0 0 12px rgba(8, 182, 106, 0.7) !important;
}

/* 9. Segmented Controls & Tabs Glow */
.ant-tabs-ink-bar {
  background: #08B66A !important;
  box-shadow: 0 0 12px #08B66A, 0 0 24px rgba(8, 182, 106, 0.7) !important;
}

.ant-segmented-item-selected {
  background: #245B48 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 14px rgba(8, 182, 106, 0.4), inset 0 0 8px rgba(8, 182, 106, 0.2) !important;
  border: 1px solid rgba(8, 182, 106, 0.5) !important;
}

/* 10. Sidebar Navigation Active Item Glow */
.ant-layout-sider .ant-menu-item-selected,
.sidebar .ant-menu-item-selected,
.proteccio-admin-center .ant-menu-item-selected,
.settings-sidebar .ant-menu-item-selected {
  background: linear-gradient(135deg, rgba(36, 91, 72, 0.95), rgba(8, 182, 106, 0.35)) !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 16px rgba(8, 182, 106, 0.4), inset 0 0 10px rgba(8, 182, 106, 0.2) !important;
  border: 1px solid rgba(8, 182, 106, 0.5) !important;
}

.ant-layout-sider .ant-menu-item-selected .anticon,
.sidebar .ant-menu-item-selected .anticon,
.proteccio-admin-center .ant-menu-item-selected .anticon,
.settings-sidebar .ant-menu-item-selected .anticon {
  filter: drop-shadow(0 0 8px rgba(8, 182, 106, 0.75)) !important;
}

/* 11. Table Rows Glowing Focus */
.ant-table-tbody > tr:hover > td {
  background: rgba(20, 33, 57, 0.85) !important;
  box-shadow: inset 2px 0 0 #08B66A, 0 0 14px rgba(8, 182, 106, 0.08) !important;
}

/* 12. Schedule / Calendar Active Column Glow */
.proteccio-schedule-page .ant-table-cell:has(.active-day),
.schedule-today,
.calendar-today {
  box-shadow: 0 0 14px rgba(38, 132, 217, 0.5), inset 0 0 8px rgba(38, 132, 217, 0.3) !important;
}

/* 13. Floating Action Buttons Glow */
.floating-action-btn,
.ant-float-btn,
.ai-assistant-toggle {
  box-shadow: 0 0 18px rgba(8, 182, 106, 0.5) !important;
  border: 1px solid rgba(8, 182, 106, 0.6) !important;
}


