/* Razex Studio — unified dark-only interface layer.
   Intent: quiet graphite surfaces, restrained violet accent, strong readable hierarchy. */
:root {
  color-scheme: dark;
  --main: #a855f7;
  --main-rgb: 168,85,247;
  --sub: #7c3aed;
  --sub-rgb: 124,58,237;
  --dark-bg: #101014;
  --dark-surface: #18181f;
  --dark-raised: #20202a;
  --dark-border: rgba(255,255,255,.09);
  --dark-text: #f4f2f8;
  --dark-muted: #a4a0af;
  --dark-faint: #777281;
  --pm-bg: var(--dark-bg);
  --pm-surface: var(--dark-surface);
  --pm-text: var(--dark-text);
  --pm-text-soft: #c0bbc9;
  --pm-border: var(--dark-border);
  --pm-glass: rgba(24,24,31,.94);
  --pm-glass-border: var(--dark-border);
  --pm-shadow: 0 12px 34px rgba(0,0,0,.24);
  --pm-shadow-hover: 0 18px 44px rgba(0,0,0,.34);
}
html { background: var(--dark-bg) !important; color-scheme: dark !important; }
html, body, body * { cursor: auto !important; }
body {
  background: var(--dark-bg) !important;
  background-image: none !important;
  color: var(--dark-text) !important;
  -webkit-font-smoothing: antialiased;
}
body::before, body::after { content: none !important; display: none !important; background: none !important; }
::selection { background: rgba(168,85,247,.42); color: #fff; }

/* Global content surfaces */
.card, .bento-card, .card-item, .stats-card, .section-card,
.modal-content, .dropdown-menu, .list-group-item, .accordion-item,
.popover, .offcanvas, .toast, .alert,
[class*="glass"], [class*="panel"], [class*="widget"] {
  color: var(--dark-text);
}
.card, .bento-card, .card-item, .stats-card, .section-card,
.modal-content, .dropdown-menu, .list-group-item, .accordion-item,
.offcanvas, .alert, .section-card {
  background-color: var(--dark-surface) !important;
  border-color: var(--dark-border) !important;
}
.card-body, .card-header, .card-footer, .modal-header, .modal-body, .modal-footer,
.dropdown-item, .accordion-button, .list-group-item { color: var(--dark-text); }
.card-header, .card-footer, .modal-header, .modal-footer { background-color: rgba(255,255,255,.025) !important; border-color: var(--dark-border) !important; }
.card-title, h1, h2, h3, h4, h5, h6, .section-title, .card-title { color: var(--dark-text) !important; }
p, .text-muted, small, .small, .form-text, .breadcrumb-item { color: var(--dark-muted) !important; }
a { color: #c084fc; }
a:hover { color: #d8b4fe; }
hr { border-color: var(--dark-border) !important; opacity: 1; }

/* Main storefront navigation and controls */
.navbar, #MainNav, .nav-inner, .glass, .dropdown-menu {
  background: rgba(20,20,27,.97) !important;
  color: var(--dark-text) !important;
  border-color: var(--dark-border) !important;
}
.navbar .nav-link, .nav-link, .navbar-brand, .dropdown-item { color: var(--dark-text) !important; }
.nav-link:hover, .dropdown-item:hover, .dropdown-item:focus { color: #fff !important; background: rgba(168,85,247,.13) !important; }
.nav-inner .active, .nav-inner .nav-link.active { background: #8b35e8 !important; color: #fff !important; box-shadow: 0 5px 16px rgba(139,53,232,.24) !important; }
.nav-inner .btn-primary, .nav-inner .btn, .nav-inner .btn-main { background-color: #8b35e8 !important; background-image: none !important; border-color: #8b35e8 !important; color: #fff !important; }
.info-panel { background: #1b1b23 !important; border-color: var(--dark-border) !important; box-shadow: 0 12px 30px rgba(0,0,0,.18) !important; color: var(--dark-text) !important; }
.info-panel .announce-marquee, .info-panel .announcement-content { background: #20202a !important; border-color: rgba(255,255,255,.07) !important; color: var(--dark-text) !important; }
.info-panel h1, .info-panel h2, .info-panel h3, .info-panel h4, .info-panel p, .info-panel span, .info-panel marquee { color: var(--dark-text) !important; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select, .form-control, .form-select {
  color: var(--dark-text) !important;
  background-color: #121219 !important;
  border-color: rgba(255,255,255,.14) !important;
}
input::placeholder, textarea::placeholder, .form-control::placeholder { color: #817b8c !important; opacity: 1; }
input:focus, textarea:focus, select:focus, .form-control:focus, .form-select:focus {
  border-color: rgba(168,85,247,.8) !important;
  box-shadow: 0 0 0 .2rem rgba(168,85,247,.16) !important;
}
select option, .form-select option { background: #18181f; color: var(--dark-text); }
.btn-primary, .btn-main, .btn-welcome.btn-primary-custom {
  background: #8b35e8 !important; border-color: #8b35e8 !important; color: #fff !important;
}
.btn-primary:hover, .btn-main:hover, .btn-welcome.btn-primary-custom:hover { background: #7627d1 !important; border-color: #7627d1 !important; }
.btn-outline-primary { color: #d8b4fe !important; border-color: #8b35e8 !important; }
.btn-outline-primary:hover { background: #8b35e8 !important; color: #fff !important; }
.btn-light, .bg-white, .text-bg-light, .table-light { background: var(--dark-raised) !important; color: var(--dark-text) !important; border-color: var(--dark-border) !important; }
.table, .table > :not(caption) > * > *, .table thead th, .table tbody td { color: var(--dark-text) !important; border-color: var(--dark-border) !important; }
.table > :not(caption) > * > * { background-color: transparent !important; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background: rgba(255,255,255,.025) !important; }
.badge { color: #fff; }

/* Header rhythm, clear focus, reduced-motion respect */
.btn, button, a, input, select, textarea { transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease; }
:focus-visible { outline: 2px solid #c084fc !important; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Legacy theme classes cannot switch the site back to a light palette. */
[data-theme="dark"] { color-scheme: dark !important; }
[data-theme="dark"] body, body[data-theme="light"] { background: var(--dark-bg) !important; color: var(--dark-text) !important; }
[data-theme="light"] { color-scheme: dark !important; }

/* Admin workspace — restrained operations-console layout */
.admin-topbar {
  min-height: 64px; padding: 10px 22px !important;
  background: #15151c !important; border-bottom: 1px solid var(--dark-border) !important;
  box-shadow: 0 6px 22px rgba(0,0,0,.2) !important; backdrop-filter: none !important;
}
.admin-topbar .brand { color: #f5efff !important; background: none !important; -webkit-text-fill-color: initial !important; font-size: 16px; font-weight: 700; letter-spacing: .01em; }
.admin-topbar .brand i { color: #b875ff !important; -webkit-text-fill-color: #b875ff !important; }
.admin-layout { min-height: calc(100vh - 64px); }
.admin-sidebar {
  width: 256px !important; top: 64px !important; height: calc(100vh - 64px) !important;
  padding: 14px 10px 22px !important; background: #15151c !important;
  border-right: 1px solid var(--dark-border) !important; backdrop-filter: none !important;
}
.admin-sidebar .side-group + .side-group { margin-top: 8px !important; padding-top: 4px; border-top-color: rgba(255,255,255,.055) !important; }
.admin-sidebar .side-label { color: #777281 !important; font-size: 10px !important; letter-spacing: .12em !important; padding: 14px 12px 7px !important; }
.admin-sidebar a {
  min-height: 38px; margin: 2px 0 !important; padding: 8px 11px !important;
  border: 1px solid transparent !important; border-radius: 9px !important;
  color: #b5b1bd !important; font-size: 12.5px !important; font-weight: 500;
}
.admin-sidebar a i { width: 18px; color: #938b9f !important; opacity: 1 !important; font-size: 13px !important; }
.admin-sidebar a:hover { color: #f8f5fb !important; background: #20202a !important; transform: none !important; }
.admin-sidebar a.active { color: #fff !important; background: #30203f !important; border-color: rgba(184,117,255,.22) !important; box-shadow: inset 3px 0 #a855f7 !important; }
.admin-sidebar a.active i { color: #c084fc !important; }
.admin-sidebar .side-group:first-child a.active { background: #8b35e8 !important; border-color: #8b35e8 !important; box-shadow: none !important; }
.admin-sidebar .side-group:first-child a.active i { color: #fff !important; }
.admin-main { padding: 26px clamp(16px, 2.5vw, 36px) !important; background: #101014 !important; }
.admin-panel { background: #18181f !important; border: 1px solid var(--dark-border) !important; border-radius: 14px !important; box-shadow: 0 8px 30px rgba(0,0,0,.16) !important; }
.admin-panel:hover { border-color: rgba(255,255,255,.14) !important; box-shadow: 0 10px 28px rgba(0,0,0,.22) !important; }
.admin-panel-header { background: #1c1c25 !important; border-bottom-color: var(--dark-border) !important; padding: 16px 20px !important; }
.admin-panel-header h4 { color: #f4f2f8 !important; font-size: 15px !important; font-weight: 650 !important; }
.admin-panel-header h4 i { color: #b875ff !important; }
.admin-panel-body { padding: 20px !important; }
.stat-card, .admin-card, .stat-box { background: #1c1c25 !important; border: 1px solid var(--dark-border) !important; border-radius: 12px !important; box-shadow: none !important; text-align: left !important; padding: 17px !important; }
.stat-card .stat-num { color: #f5f2f8 !important; background: none !important; -webkit-text-fill-color: initial !important; font-size: clamp(22px,2.1vw,29px) !important; font-weight: 700 !important; letter-spacing: -.025em; }
.stat-card .stat-label { color: #a09aa9 !important; font-size: 12px !important; margin-top: 7px !important; }
.admin-table { --bs-table-bg: transparent; --bs-table-color: #e9e6ee; --bs-table-border-color: rgba(255,255,255,.08); --bs-table-hover-bg: rgba(255,255,255,.035); --bs-table-striped-bg: rgba(255,255,255,.02); color: #e9e6ee !important; background: transparent !important; }
.admin-table > :not(caption) > * > * { color: #e9e6ee !important; background-color: transparent !important; box-shadow: none !important; border-color: rgba(255,255,255,.08) !important; }
.admin-table thead th { color: #a7a1ae !important; background: #20202a !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .05em; }
.admin-table tbody tr:hover > * { background: rgba(255,255,255,.035) !important; }
.admin-table small, .admin-table .text-muted { color: #9a95a2 !important; }
.form-control, .form-select, .admin-section input, .admin-section select, .admin-section textarea { background: #121219 !important; color: #f2eff6 !important; border-color: rgba(255,255,255,.12) !important; }
.form-control:focus, .form-select:focus { border-color: #a855f7 !important; box-shadow: 0 0 0 .2rem rgba(168,85,247,.16) !important; }
.form-label { color: #c6c1cc !important; }
.modal-content { background: #1b1b23 !important; color: #f4f2f8 !important; border-color: var(--dark-border) !important; }
.modal-header, .modal-footer { border-color: var(--dark-border) !important; }
.ap-search-btn { color: #bab4c2 !important; background: #20202a !important; border-color: var(--dark-border) !important; }
.ap-search-btn kbd { background: #2a2933 !important; color: #d0cbd5 !important; }
.ap-burger { color: #fff !important; border-color: var(--dark-border) !important; }

/* Small screens: keep the complete admin menu reachable without breaking content. */
@media (max-width: 991px) {
  .admin-topbar { gap: 10px; padding: 9px 14px !important; }
  .admin-topbar .topbar-right { gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
  .admin-topbar .topbar-right > span { display: none; }
  .admin-sidebar { background: #15151c !important; }
  .admin-sidebar.open { box-shadow: 18px 0 40px rgba(0,0,0,.5) !important; }
}
@media (max-width: 768px) {
  .admin-layout { display: block !important; }
  .admin-sidebar { position: fixed !important; z-index: 1200; top: 64px !important; bottom: 0; left: -290px; width: min(280px,86vw) !important; height: auto !important; overflow-y: auto; display: block !important; padding-bottom: 24px !important; transition: left .22s ease !important; }
  .admin-sidebar.open { left: 0 !important; }
  .admin-sidebar .side-label { display: block !important; }
  .admin-sidebar .side-group { display: block !important; }
  .admin-sidebar .side-group + .side-group { border-top: 1px solid rgba(255,255,255,.055) !important; margin-top: 8px !important; }
  .admin-main { padding: 16px 12px !important; }
  .admin-panel { margin-bottom: 14px !important; }
  .admin-panel-body { padding: 14px !important; }
  .stat-card { min-height: 100px; }
  .admin-panel-header { align-items: flex-start; }
}

.admin-brand-tag { color: #9d96a7; font-size: 11px; font-weight: 500; padding-left: 10px; margin-left: 2px; border-left: 1px solid var(--dark-border); }
.admin-topbar .topbar-right a { color: #b9b4c0 !important; font-size: 12px; }
.admin-topbar .topbar-right a:hover { color: #fff !important; }
.admin-panel-header .btn { min-height: 34px; }
.admin-section .table-responsive { border: 1px solid var(--dark-border); border-radius: 10px; }
.admin-section .rev-chart { background: #14141b !important; border-color: var(--dark-border) !important; }
@media (max-width: 540px) {
  .admin-brand-tag { display: none; }
  .admin-topbar .brand { font-size: 14px; }
  .admin-topbar .topbar-right a { padding: 5px 7px; font-size: 11px; }
  .admin-topbar .topbar-right a:last-child { display: none; }
  .admin-panel-header h4 { font-size: 14px !important; }
  .admin-table { min-width: 580px; }
}
