@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Rajdhani:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap');

:root {
  --gold:         #c9a84c;
  --gold-bright:  #e8c568;
  --gold-dim:     rgba(201,168,76,0.1);
  --gold-border:  rgba(201,168,76,0.3);
  --gold-glow:    rgba(201,168,76,0.2);
  --bg:           #f8f8f8;
  --surface:      #ffffff;
  --panel:        #f1f3f4;
  --border:       #e0e0e0;
  --text:         #16191f;
  --text-muted:   #545b64;
  --text-light:   #879596;
  --header-bg:    #16191f;
  --header-text:  #ffffff;
  --sidebar-bg:   #ffffff;
  --sidebar-border: #e0e0e0;
  --blue:         #0073bb;
  --success:      #1d8348;
  --warning:      #d68910;
  --danger:       #cb4335;
}

/* ---- Global ---- */
body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: 'Rajdhani', 'Amazon Ember', sans-serif !important;
}

/* ---- Header / Top Nav ---- */
.ant-layout-header,
header.ant-layout-header {
  background: var(--header-bg) !important;
  border-bottom: 3px solid var(--gold) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

.ant-menu-dark,
.ant-menu-dark .ant-menu-sub {
  background: var(--header-bg) !important;
}

.ant-menu-dark .ant-menu-item {
  color: rgba(255,255,255,0.8) !important;
}

.ant-menu-dark .ant-menu-item:hover {
  color: var(--gold) !important;
  background: rgba(201,168,76,0.1) !important;
}

.ant-menu-dark .ant-menu-item-selected {
  background: rgba(201,168,76,0.15) !important;
  color: var(--gold) !important;
}

/* ---- Sidebar ---- */
.ant-layout-sider {
  background: var(--sidebar-bg) !important;
  border-right: 1px solid var(--sidebar-border) !important;
  box-shadow: 2px 0 8px rgba(0,0,0,0.05) !important;
}

.ant-menu-inline,
.ant-menu-vertical {
  background: var(--sidebar-bg) !important;
  border-right: none !important;
}

.ant-menu-inline .ant-menu-item {
  color: var(--text-muted) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 0.9rem !important;
}

.ant-menu-inline .ant-menu-item:hover {
  color: var(--gold) !important;
  background: var(--gold-dim) !important;
}

.ant-menu-inline .ant-menu-item-selected {
  background: var(--gold-dim) !important;
  border-right: 3px solid var(--gold) !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
}

.ant-menu-submenu-title {
  color: var(--text-muted) !important;
}

.ant-menu-submenu-title:hover {
  color: var(--gold) !important;
}

.ant-menu-submenu-arrow {
  color: var(--text-light) !important;
}

/* ---- Main Content ---- */
.ant-layout,
.ant-layout-content {
  background: var(--bg) !important;
}

/* ---- Login Page ---- */
.login-page,
#app > .ant-layout {
  background: var(--panel) !important;
}

.login-form-container,
.login-form,
.login-box {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.1) !important;
}

.login-form .ant-input,
.login-form input {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: 4px !important;
}

.login-form .ant-input:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 2px var(--gold-glow) !important;
}

.login-form .ant-btn-primary {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  height: 40px !important;
}

.login-form .ant-btn-primary:hover {
  background: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
}

/* ---- Cards ---- */
.ant-card {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  color: var(--text) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
  transition: box-shadow 0.2s !important;
}

.ant-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
}

.ant-card-head {
  background: var(--surface) !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-weight: 600 !important;
}

.ant-card-head-title {
  color: var(--text) !important;
}

.ant-card-body {
  background: var(--surface) !important;
}

/* ---- Tables ---- */
.ant-table {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}

.ant-table-thead > tr > th {
  background: var(--panel) !important;
  color: var(--text-muted) !important;
  border-bottom: 2px solid var(--border) !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.ant-table-tbody > tr > td {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-bottom: 1px solid var(--border) !important;
}

.ant-table-tbody > tr:hover > td {
  background: var(--gold-dim) !important;
}

.ant-table-row-selected > td {
  background: var(--gold-dim) !important;
}

/* ---- Buttons ---- */
.ant-btn-primary {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 3px rgba(201,168,76,0.3) !important;
}

.ant-btn-primary:hover {
  background: var(--gold-bright) !important;
  border-color: var(--gold-bright) !important;
  box-shadow: 0 2px 8px rgba(201,168,76,0.4) !important;
}

.ant-btn-default {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-muted) !important;
  border-radius: 4px !important;
}

.ant-btn-default:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

.ant-btn-dangerous {
  background: var(--surface) !important;
  border-color: var(--danger) !important;
  color: var(--danger) !important;
}

/* ---- Links ---- */
a { color: var(--gold) !important; }
a:hover { color: var(--gold-bright) !important; }

/* ---- Inputs ---- */
.ant-input,
.ant-input-affix-wrapper,
.ant-select-selector,
.ant-input-number,
.ant-picker {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
  border-radius: 4px !important;
}

.ant-input:focus,
.ant-input-affix-wrapper-focused,
.ant-select-focused .ant-select-selector {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 2px var(--gold-glow) !important;
}

.ant-input::placeholder { color: var(--text-light) !important; }

/* ---- Dropdowns ---- */
.ant-select-dropdown {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
}

.ant-select-item { color: var(--text) !important; }

.ant-select-item-option-selected {
  background: var(--gold-dim) !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
}

.ant-select-item-option:hover {
  background: var(--panel) !important;
}

.ant-select-arrow { color: var(--text-light) !important; }

/* ---- Tabs ---- */
.ant-tabs-tab { color: var(--text-muted) !important; }
.ant-tabs-tab:hover { color: var(--gold) !important; }
.ant-tabs-tab-active .ant-tabs-tab-btn { color: var(--gold) !important; font-weight: 600 !important; }
.ant-tabs-ink-bar { background: var(--gold) !important; }
.ant-tabs-nav::before { border-color: var(--border) !important; }

/* ---- Tags ---- */
.ant-tag {
  background: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text-muted) !important;
  border-radius: 4px !important;
  font-size: 0.75rem !important;
}

.ant-badge-status-processing { background: var(--gold) !important; }
.ant-badge-status-success { background: var(--success) !important; }
.ant-badge-status-error { background: var(--danger) !important; }

/* ---- Statistics ---- */
.ant-statistic-title {
  color: var(--text-muted) !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.ant-statistic-content-value {
  color: var(--text) !important;
  font-weight: 700 !important;
}

/* ---- Modals ---- */
.ant-modal-content {
  background: var(--surface) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.15) !important;
}

.ant-modal-header {
  background: var(--surface) !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: 8px 8px 0 0 !important;
}

.ant-modal-title { color: var(--text) !important; font-weight: 600 !important; }
.ant-modal-close { color: var(--text-light) !important; }
.ant-modal-close:hover { color: var(--text) !important; }
.ant-modal-mask { background: rgba(0,0,0,0.5) !important; }

/* ---- Drawers ---- */
.ant-drawer-content {
  background: var(--surface) !important;
}

.ant-drawer-header {
  background: var(--surface) !important;
  border-bottom: 1px solid var(--border) !important;
}

.ant-drawer-title { color: var(--text) !important; font-weight: 600 !important; }

/* ---- Dropdown Menus ---- */
.ant-dropdown-menu {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
}

.ant-dropdown-menu-item { color: var(--text) !important; }
.ant-dropdown-menu-item:hover {
  background: var(--panel) !important;
  color: var(--gold) !important;
}

/* ---- Breadcrumbs ---- */
.ant-breadcrumb { color: var(--text-light) !important; }
.ant-breadcrumb a { color: var(--gold) !important; }
.ant-breadcrumb-separator { color: var(--border) !important; }

/* ---- Pagination ---- */
.ant-pagination-item {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  border-radius: 4px !important;
}

.ant-pagination-item a { color: var(--text-muted) !important; }
.ant-pagination-item:hover { border-color: var(--gold) !important; }
.ant-pagination-item:hover a { color: var(--gold) !important; }

.ant-pagination-item-active {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
}

.ant-pagination-item-active a { color: #ffffff !important; }

/* ---- Dividers ---- */
.ant-divider { border-color: var(--border) !important; }

/* ---- Tooltips ---- */
.ant-tooltip-inner {
  background: var(--header-bg) !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  font-size: 0.8rem !important;
}

/* ---- Progress ---- */
.ant-progress-bg {
  background: linear-gradient(90deg, var(--gold), var(--gold-bright)) !important;
}
.ant-progress-trail { background: var(--border) !important; }

/* ---- Alerts ---- */
.ant-alert {
  border-radius: 4px !important;
}
.ant-alert-success { background: #eafaf1 !important; border-color: #a9dfbf !important; }
.ant-alert-warning { background: #fef9e7 !important; border-color: #f9e79f !important; }
.ant-alert-error { background: #fdedec !important; border-color: #f5b7b1 !important; }
.ant-alert-info { background: #eaf4fb !important; border-color: #aed6f1 !important; }
.ant-alert-message { color: var(--text) !important; font-weight: 600 !important; }
.ant-alert-description { color: var(--text-muted) !important; }

/* ---- Notifications ---- */
.ant-notification-notice {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
}
.ant-notification-notice-message { color: var(--text) !important; font-weight: 600 !important; }
.ant-notification-notice-description { color: var(--text-muted) !important; }

/* ---- Form Labels ---- */
.ant-form-item-label > label {
  color: var(--text-muted) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
}

/* ---- Checkbox & Radio ---- */
.ant-checkbox-inner {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  border-radius: 3px !important;
}
.ant-checkbox-checked .ant-checkbox-inner {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
}

.ant-radio-inner {
  background: var(--surface) !important;
  border-color: var(--border) !important;
}
.ant-radio-checked .ant-radio-inner { border-color: var(--gold) !important; }
.ant-radio-checked .ant-radio-inner::after { background: var(--gold) !important; }

/* ---- Switch ---- */
.ant-switch { background: var(--border) !important; }
.ant-switch-checked { background: var(--gold) !important; }

/* ---- Spin ---- */
.ant-spin-dot-item { background: var(--gold) !important; }

/* ---- Steps ---- */
.ant-steps-item-finish .ant-steps-item-icon {
  background: var(--gold-dim) !important;
  border-color: var(--gold) !important;
}
.ant-steps-item-finish .ant-steps-item-icon .ant-steps-icon { color: var(--gold) !important; }
.ant-steps-item-process .ant-steps-item-icon {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
}
.ant-steps-item-process .ant-steps-item-icon .ant-steps-icon { color: #ffffff !important; }
.ant-steps-item-title { color: var(--text) !important; }
.ant-steps-item-description { color: var(--text-muted) !important; }

/* ---- Footer ---- */
.footer, footer {
  background: var(--panel) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--text-light) !important;
  font-size: 0.8rem !important;
}

/* ---- Scrollbar ---- */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--panel); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

/* ---- Text ---- */
h1, h2, h3, h4, h5, h6 { color: var(--text) !important; }
.ant-typography { color: var(--text) !important; }
.ant-typography.ant-typography-secondary { color: var(--text-muted) !important; }

/* Force hide domain via multiple selectors */
.login-domain { display: none !important; }
div[class*="domain"] { display: none !important; }
.ant-form-item:nth-child(3) { display: none !important; }
input[id="domain"] { display: none !important; }
input[id="domain"] + * { display: none !important; }
label[for="domain"] { display: none !important; }
.ant-row:has(label[for="domain"]) { display: none !important; }

/* Logo size control */
.logo img,
.header-logo img,
img[src*="logo"] {
  height: 36px !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
}

/* Hide domain field - CSS only, no JS interference */
.ant-form-item:nth-child(3),
.ant-form-item:last-of-type:not(:first-child):not(:nth-child(2)) {
  display: none !important;
}
