@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,800&family=Sora:wght@300;400;500;600;700;800&display=swap");

:root {
  --ui-ink: #16130f;
  --ui-ink-2: #27231d;
  --ui-muted: #6b6257;
  --ui-soft: #f8f0e2;
  --ui-paper: #fff8ec;
  --ui-paper-2: #f1dfc4;
  --ui-cream: #fffaf0;
  --ui-charcoal: #11100e;
  --ui-panel: rgba(255, 248, 236, 0.78);
  --ui-panel-strong: rgba(255, 250, 240, 0.94);
  --ui-line: rgba(22, 19, 15, 0.15);
  --ui-line-strong: rgba(22, 19, 15, 0.24);
  --ui-teal: #0d766c;
  --ui-teal-2: #0f9488;
  --ui-lime: #c7df6b;
  --ui-ember: #df5f2d;
  --ui-sky: #256d85;
  --ui-red: #d94435;
  --ui-shadow: 0 24px 70px rgba(38, 28, 18, 0.15);
  --ui-shadow-soft: 0 16px 44px rgba(38, 28, 18, 0.1);
}

html {
  scroll-behavior: smooth;
}

body,
button,
input,
select,
textarea {
  font-family: "Sora", "Segoe UI", Arial, sans-serif !important;
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--ui-ink) !important;
  background:
    linear-gradient(115deg, rgba(223, 95, 45, 0.14) 0 18%, transparent 18% 100%),
    linear-gradient(245deg, rgba(199, 223, 107, 0.25) 0 22%, transparent 22% 100%),
    linear-gradient(135deg, rgba(13, 118, 108, 0.12) 0 24%, transparent 24% 100%),
    linear-gradient(135deg, #fffaf1 0%, #f5e7d0 42%, #d8ecdf 100%) !important;
  background-attachment: fixed !important;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.13;
  background-image:
    linear-gradient(115deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px),
    linear-gradient(25deg, rgba(255, 255, 255, 0.38) 1px, transparent 1px);
  background-size: 18px 18px, 26px 26px;
}

a {
  color: inherit;
}

pre,
code {
  font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace !important;
}

.noise {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.btn,
.menu-btn,
.stat-btn,
.logout-btn,
.btn-otp,
.btn-otp-primary,
.pending-btn,
.action-btn,
.btn-action,
.confirm-btn {
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 999px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 800;
  letter-spacing: 0;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
}

.btn:hover,
.menu-btn:hover,
.stat-btn:hover,
.logout-btn:hover,
.btn-otp:hover,
.btn-otp-primary:hover,
.pending-btn:hover,
.action-btn:hover,
.btn-action:hover {
  opacity: 1 !important;
  transform: translateY(-2px);
}

.btn-primary,
.btn-purple,
.menu-btn,
.stat-btn,
.btn-select,
.confirm-btn.ok,
.pending-btn.btn-check {
  color: var(--ui-cream) !important;
  background: var(--ui-charcoal) !important;
  box-shadow: 0 16px 34px rgba(17, 16, 14, 0.18);
}

.btn-outline,
.btn-ghost,
.btn-dark,
.btn-otp,
.inbox-btn,
.confirm-btn.cancel {
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.65) !important;
  border-color: var(--ui-line) !important;
}

.btn-secondary,
.btn-green,
.stat-btn-reseller,
.btn-otp-primary,
.pending-btn.btn-continue {
  color: var(--ui-ink) !important;
  background: var(--ui-lime) !important;
  border-color: rgba(22, 19, 15, 0.1) !important;
}

.btn-blue,
.pending-btn.btn-copy,
.pending-btn.btn-qr {
  color: var(--ui-cream) !important;
  background: var(--ui-teal) !important;
}

.btn-red,
.btn-delete,
.logout-btn,
.modal-danger-btn,
.btn-history-contact {
  color: var(--ui-cream) !important;
  background: var(--ui-red) !important;
}

.full-btn {
  width: 100% !important;
}

/* Landing and about */
.landing-header {
  position: sticky !important;
  top: 16px !important;
  z-index: 50;
  width: min(1180px, calc(100% - 32px));
  margin: 16px auto 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 999px !important;
  background: rgba(255, 248, 236, 0.78) !important;
  box-shadow: 0 16px 52px rgba(38, 28, 18, 0.1) !important;
  backdrop-filter: blur(20px);
}

.landing-header.header-hidden {
  transform: none !important;
}

.brand {
  min-width: 0;
}

.brand-mark {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border: 2px solid var(--ui-charcoal);
  border-radius: 50% !important;
  background: var(--ui-charcoal) !important;
  box-shadow: none !important;
}

.brand-text h1 {
  color: var(--ui-ink);
  font-size: 18px !important;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.brand-text p {
  color: var(--ui-muted) !important;
  font-size: 12px !important;
}

.nav-main,
.nav-actions {
  align-items: center;
  gap: 6px !important;
}

.nav-main > a:not(.btn),
.nav-actions > a:not(.btn) {
  color: var(--ui-muted) !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700;
}

.nav-main > a:not(.btn):hover,
.nav-actions > a:not(.btn):hover {
  color: var(--ui-ink) !important;
  background: rgba(22, 19, 15, 0.07) !important;
  border-color: rgba(22, 19, 15, 0.09) !important;
}

.landing-main {
  width: min(1180px, calc(100% - 32px));
  max-width: none !important;
  padding: 74px 0 72px !important;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr) !important;
  gap: clamp(24px, 5vw, 54px) !important;
  align-items: center !important;
  min-height: calc(100vh - 120px);
  margin-top: 0 !important;
  overflow: visible !important;
}

.hero-content h2,
.about-section h2,
.features h3,
.section-head h3,
.contact-block h3,
.about-block h3,
.footer-brand h3 {
  font-family: "Fraunces", Georgia, serif !important;
  letter-spacing: -0.045em !important;
}

.hero-v2 .hero-content h2,
.hero-content h2 {
  max-width: 920px;
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: var(--ui-ink) !important;
  background: none !important;
  font-size: clamp(3.05rem, 7.5vw, 7.25rem) !important;
  line-height: 0.94 !important;
}

.hero-content p {
  max-width: 720px !important;
  color: var(--ui-muted) !important;
  font-size: 1.04rem;
  line-height: 1.85;
}

.hero-eyebrow {
  width: fit-content;
  margin: 0 0 18px !important;
  padding: 8px 13px !important;
  color: var(--ui-teal) !important;
  background: rgba(255, 248, 236, 0.72) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 999px !important;
  font-size: 0.76rem !important;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-cta {
  gap: 12px !important;
  margin: 30px 0 20px !important;
}

.hero-kpi-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
  margin: 22px 0 16px !important;
}

.hero-kpi-card {
  min-width: 150px;
  padding: 14px 16px !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.68) !important;
  box-shadow: none !important;
}

.hero-kpi-card .kpi-label {
  color: var(--ui-muted) !important;
  font-size: 12px !important;
}

.hero-kpi-card .kpi-value {
  color: var(--ui-ink) !important;
  font-size: 28px !important;
  letter-spacing: -0.04em;
}

.hero-note {
  max-width: 560px;
  padding: 14px 16px !important;
  color: var(--ui-ink) !important;
  background: rgba(199, 223, 107, 0.28) !important;
  border: 1px solid rgba(13, 118, 108, 0.18) !important;
  border-radius: 8px !important;
}

.hero-panel {
  position: relative;
  min-height: 540px;
}

.hero-panel::before,
.hero-panel::after {
  content: "";
  position: absolute;
  z-index: 0;
  border-radius: 8px;
  animation: theme-float 7s ease-in-out infinite;
}

.hero-panel::before {
  top: 28px;
  right: 24px;
  width: 220px;
  height: 82px;
  background: var(--ui-lime);
  transform: rotate(-7deg);
}

.hero-panel::after {
  left: 8px;
  bottom: 86px;
  width: 170px;
  height: 72px;
  background: var(--ui-ember);
  transform: rotate(8deg);
  animation-delay: -2s;
}

.hero-panel .panel-card {
  position: absolute;
  z-index: 1;
  top: 64px;
  right: 6px;
  width: min(450px, 100%);
  min-height: 380px;
  padding: 26px !important;
  color: var(--ui-cream) !important;
  border: 1px solid rgba(255, 248, 236, 0.2) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(122deg, rgba(199, 223, 107, 0.18) 0 24%, transparent 24% 100%),
    linear-gradient(155deg, rgba(17, 16, 14, 0.97), rgba(13, 118, 108, 0.9)) !important;
  box-shadow: var(--ui-shadow) !important;
  transform: rotate(2deg);
}

.hero-panel .panel-card:hover {
  transform: rotate(2deg) translateY(-4px) !important;
}

.panel-card h3 {
  color: inherit;
  font-size: 1.5rem;
}

.panel-card h3::after,
.features h3::after {
  display: none !important;
}

.hero-panel .panel-card ol {
  display: grid;
  gap: 10px;
}

.hero-panel .panel-card li {
  padding: 14px 0 14px 48px !important;
  color: rgba(255, 248, 236, 0.82) !important;
  border-bottom: 1px solid rgba(255, 248, 236, 0.1) !important;
}

.hero-panel .panel-card li::before {
  color: var(--ui-ink) !important;
  background: var(--ui-lime) !important;
  box-shadow: none !important;
}

.about-section li,
.about-block li,
.contact-block li {
  color: var(--ui-muted) !important;
  border-bottom-color: rgba(22, 19, 15, 0.1) !important;
}

.panel-note {
  color: var(--ui-ink) !important;
  background: var(--ui-cream) !important;
  border: 1px solid rgba(255, 248, 236, 0.2) !important;
  border-radius: 8px !important;
}

.section-head,
.features h3 {
  text-align: left !important;
}

.features,
.servers,
.about-block,
.contact-block {
  margin-top: 72px !important;
}

.features h3,
.section-head h3,
.about-section h2 {
  color: var(--ui-ink) !important;
  font-size: clamp(2.2rem, 4vw, 4.8rem) !important;
  line-height: 0.98;
  left: auto !important;
  transform: none !important;
}

.section-head p,
.feature-card p,
.about-section p,
.about-list,
.contact-block p {
  color: var(--ui-muted) !important;
  line-height: 1.78;
}

.feature-grid,
.server-list,
.summary-list,
.about-stats {
  gap: 14px !important;
}

.feature-card,
.server-card,
.panel-card.about-block,
.panel-card.contact-block,
.about-section,
.summary-total .total-item,
.summary-list .summary-card,
.server-loading,
.server-empty,
.server-error {
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.72) !important;
  box-shadow: 0 20px 70px rgba(38, 28, 18, 0.08) !important;
  backdrop-filter: blur(18px);
}

.feature-card {
  min-height: 190px;
}

.feature-card h4 {
  padding-left: 0 !important;
  color: var(--ui-ink) !important;
}

.feature-card h4::before {
  display: none !important;
}

.feature-card p {
  padding-left: 0 !important;
}

.server-card {
  cursor: default !important;
  transform: none !important;
}

.server-card:hover,
.feature-card:hover {
  border-color: rgba(13, 118, 108, 0.3) !important;
  transform: translateY(-4px) !important;
  box-shadow: var(--ui-shadow-soft) !important;
}

.server-card h4,
.server-card h4[style] {
  color: var(--ui-ink) !important;
}

.server-meta,
.server-meta *,
.server-card [style*="color: #9ca3af"],
.server-card [style*="color: #cbd5f5"] {
  color: var(--ui-muted) !important;
}

.server-tag {
  color: var(--ui-teal) !important;
  background: rgba(13, 118, 108, 0.12) !important;
  border: 1px solid rgba(13, 118, 108, 0.18);
}

.server-price,
.server-price *,
.server-card [style*="color: #22c55e"],
.server-card [style*="color: #86efac"] {
  color: var(--ui-teal) !important;
}

.server-count {
  color: var(--ui-muted) !important;
  background: rgba(255, 248, 236, 0.72) !important;
  border-left-color: var(--ui-teal) !important;
}

.server-refresh {
  margin-top: 20px;
  text-align: center;
}

.about-stats div {
  border: 1px solid rgba(13, 118, 108, 0.18) !important;
  border-radius: 8px !important;
  background: rgba(199, 223, 107, 0.2) !important;
}

.about-stats strong,
.about-stats span {
  color: var(--ui-ink) !important;
}

.contact-links a,
.footer-links a {
  border: 1px solid var(--ui-line);
  border-radius: 999px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.7) !important;
}

.landing-footer {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto 26px !important;
  padding: 28px !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  background: rgba(17, 16, 14, 0.94) !important;
}

.landing-footer::before {
  display: none !important;
}

.footer-brand h3,
.footer-brand p,
.footer-label,
.footer-copyright,
.footer-links a {
  color: var(--ui-cream) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  animation: none !important;
}

.footer-links a {
  border-color: rgba(255, 248, 236, 0.16);
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Auth */
body.auth-page {
  display: flex !important;
  align-items: flex-start;
  justify-content: center;
  min-height: 100vh;
  padding: 44px 16px !important;
  color: var(--ui-ink) !important;
}

.auth-shell {
  width: min(1080px, 100%);
  max-width: none !important;
  min-height: calc(100vh - 88px);
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.auth-box {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.86) !important;
  box-shadow: var(--ui-shadow-soft) !important;
  backdrop-filter: blur(18px);
}

.auth-header h2 {
  margin-bottom: 8px !important;
  color: var(--ui-ink) !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: clamp(2.4rem, 5vw, 4rem) !important;
  line-height: 0.94;
  letter-spacing: -0.05em;
}

.auth-eyebrow {
  color: var(--ui-teal) !important;
  font-weight: 800;
}

.auth-subtitle,
.auth-note,
.auth-side-card li,
.auth-link {
  color: var(--ui-muted) !important;
}

.auth-box label,
.form-row label,
label {
  color: var(--ui-muted) !important;
  font-weight: 700;
}

.auth-box input,
.auth-box select,
.auth-box textarea,
.otp-box,
.captcha-image,
.validation-rules,
.form-row input,
.form-row select,
.form-row textarea,
input,
select,
textarea {
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 250, 240, 0.82) !important;
  outline: none;
}

.auth-box input:focus,
.form-row input:focus,
.form-row select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: rgba(13, 118, 108, 0.5) !important;
  box-shadow: 0 0 0 4px rgba(13, 118, 108, 0.12) !important;
}

.password-toggle {
  color: var(--ui-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.auth-box button[type="submit"],
.auth-submit {
  color: var(--ui-cream) !important;
  background: var(--ui-charcoal) !important;
  box-shadow: 0 16px 34px rgba(17, 16, 14, 0.18) !important;
}

.auth-link a,
.auth-forgot {
  color: var(--ui-teal) !important;
  font-weight: 800;
}

.auth-info,
.auth-side-highlight {
  border: 1px solid rgba(13, 118, 108, 0.18) !important;
  border-radius: 8px !important;
  background: rgba(199, 223, 107, 0.22) !important;
}

.auth-badges span {
  color: var(--ui-ink) !important;
  border: 1px solid var(--ui-line) !important;
  background: rgba(255, 248, 236, 0.72) !important;
}

.auth-side-card {
  min-width: 0;
  height: 100%;
  min-height: 420px;
  padding: clamp(26px, 5vw, 54px) !important;
  border: 1px solid rgba(255, 248, 236, 0.2) !important;
  border-radius: 8px !important;
  color: var(--ui-cream) !important;
  background:
    linear-gradient(125deg, rgba(199, 223, 107, 0.2) 0 28%, transparent 28% 100%),
    linear-gradient(150deg, rgba(17, 16, 14, 0.98), rgba(13, 118, 108, 0.9)) !important;
  box-shadow: var(--ui-shadow) !important;
}

.auth-side-card::before {
  content: "1FORCR";
  display: block;
  margin-bottom: 18px;
  color: var(--ui-lime);
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(3.4rem, 8vw, 6.5rem);
  font-weight: 800;
  line-height: 0.85;
  letter-spacing: -0.06em;
}

.auth-side-card h3,
.auth-side-card p,
.auth-side-card li,
.auth-side-highlight p {
  color: rgba(255, 248, 236, 0.84) !important;
}

.strength-bar {
  background: rgba(22, 19, 15, 0.12) !important;
}

.strength-fill {
  background: linear-gradient(90deg, var(--ui-ember), var(--ui-teal), var(--ui-lime)) !important;
}

/* User dashboard */
body.user-dashboard-page {
  color: var(--ui-ink) !important;
}

.navbar {
  height: 74px !important;
  padding: 0 24px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.82) !important;
  border-bottom: 1px solid var(--ui-line) !important;
  box-shadow: 0 12px 38px rgba(38, 28, 18, 0.1) !important;
  backdrop-filter: blur(18px);
}

.navbar-title {
  color: var(--ui-ink) !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: 30px !important;
  letter-spacing: -0.045em;
}

.username-nav {
  color: var(--ui-ink) !important;
}

.saldo-nav {
  color: var(--ui-teal) !important;
  background: rgba(13, 118, 108, 0.1) !important;
  border-radius: 999px !important;
}

.menu-toggle span {
  background: var(--ui-ink) !important;
}

.sidebar,
.admin-page .sidebar {
  width: 260px !important;
  color: var(--ui-cream) !important;
  background:
    linear-gradient(140deg, rgba(199, 223, 107, 0.12) 0 24%, transparent 24% 100%),
    var(--ui-charcoal) !important;
  border-right: 1px solid rgba(255, 248, 236, 0.12) !important;
}

body.user-dashboard-page .sidebar {
  top: 74px !important;
  height: calc(100vh - 74px) !important;
}

.sidebar-header,
.admin-page .sidebar-header,
.sidebar-footer {
  border-color: rgba(255, 248, 236, 0.12) !important;
  background: transparent !important;
}

.sidebar-header h3,
.admin-page .sidebar-header h3 {
  color: var(--ui-cream) !important;
  font-family: "Fraunces", Georgia, serif !important;
  letter-spacing: -0.04em;
}

.sidebar-btn,
.admin-page .sidebar-btn {
  min-height: 46px;
  color: rgba(255, 248, 236, 0.72) !important;
  border-left: 3px solid transparent !important;
  background: transparent !important;
  font-weight: 700;
}

.sidebar-btn:hover,
.admin-page .sidebar-btn:hover {
  color: var(--ui-cream) !important;
  background: rgba(255, 248, 236, 0.08) !important;
}

.sidebar-btn.active,
.admin-page .sidebar-btn.active {
  color: var(--ui-cream) !important;
  background: rgba(199, 223, 107, 0.13) !important;
  border-left-color: var(--ui-lime) !important;
}

.user-info-mini p,
.user-info-mini span {
  color: rgba(255, 248, 236, 0.72) !important;
}

.main-content {
  margin-left: 260px !important;
  margin-top: 74px !important;
  min-height: calc(100vh - 74px) !important;
  padding: 28px !important;
  background: transparent !important;
}

.dash-container,
.admin-container {
  max-width: 1380px !important;
}

.card-box,
.card,
.stat-card,
.content-area,
.form-card,
.table-container,
.user-result,
.detail-summary > div,
.detail-card,
.account-row,
.account-empty,
.inbox-item,
.reseller-row,
.pending-transaction-item,
.modal-box,
.confirm-box,
.reseller-modal {
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.78) !important;
  box-shadow: 0 18px 52px rgba(38, 28, 18, 0.08) !important;
}

.welcome-box {
  color: var(--ui-cream) !important;
  border: 1px solid rgba(255, 248, 236, 0.18) !important;
  background:
    linear-gradient(125deg, rgba(199, 223, 107, 0.18) 0 26%, transparent 26% 100%),
    linear-gradient(135deg, rgba(17, 16, 14, 0.98), rgba(13, 118, 108, 0.92)) !important;
}

.welcome-box h2 {
  color: var(--ui-cream) !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3.7rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.welcome-box p {
  color: rgba(255, 248, 236, 0.72) !important;
}

.quick-stats {
  gap: 12px !important;
}

.quick-stats .stat-card {
  border-color: rgba(255, 248, 236, 0.16) !important;
  color: var(--ui-cream) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}

.quick-stats .stat-card h4,
.quick-stats .stat-card .stat-value {
  color: var(--ui-cream) !important;
}

.card h3,
.card-box h3,
.content-section h2,
.content-section h3,
.history-title,
.account-summary-header h3 {
  color: var(--ui-ink) !important;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.section-note,
.info-text,
.account-meta,
.account-exp,
.inbox-empty,
.inbox-count,
.table-info,
.loading-text,
.empty-text,
.detail-card li span:first-child {
  color: var(--ui-muted) !important;
}

.price-info,
.history-info,
.table-info {
  border: 1px solid rgba(13, 118, 108, 0.16) !important;
  border-radius: 8px !important;
  color: var(--ui-teal) !important;
  background: rgba(13, 118, 108, 0.08) !important;
}

.account-badge,
.badge {
  border-radius: 999px !important;
}

.table {
  color: var(--ui-ink) !important;
}

.table thead th {
  color: var(--ui-muted) !important;
  border-bottom-color: var(--ui-line) !important;
  background: rgba(255, 250, 240, 0.74);
}

.table tbody td {
  color: var(--ui-ink) !important;
  border-bottom-color: rgba(22, 19, 15, 0.1) !important;
}

.table tbody tr:hover,
.admin-page .table tbody tr:hover {
  background: rgba(13, 118, 108, 0.06) !important;
}

pre,
.result-box pre {
  color: #e8ffe1 !important;
  border: 1px solid rgba(255, 248, 236, 0.14) !important;
  border-radius: 8px !important;
  background: var(--ui-charcoal) !important;
}

.app-toast,
.confirm-overlay,
.modal-overlay,
.reseller-modal-overlay {
  backdrop-filter: blur(8px);
}

.confirm-text,
.modal-title,
.modal-label,
.modal-value,
.info-item .label,
.info-item .value,
.detail-summary strong,
.detail-card li span:last-child,
.account-user,
.inbox-item p,
.transaction-type,
.transaction-description {
  color: var(--ui-ink) !important;
}

/* History */
.transaction-item {
  border: 1px solid var(--ui-line) !important;
  border-left: 4px solid var(--ui-teal) !important;
  border-radius: 8px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.78) !important;
}

.transaction-item:hover {
  background: rgba(255, 250, 240, 0.94) !important;
}

.transaction-deposit {
  border-left-color: var(--ui-teal) !important;
}

.transaction-other {
  border-left-color: var(--ui-sky) !important;
}

.transaction-time,
.transaction-reference,
.history-loading-text,
.history-empty,
.history-empty-subtitle {
  color: var(--ui-muted) !important;
}

.transaction-reference {
  background: rgba(22, 19, 15, 0.08) !important;
}

/* Admin */
.admin-page {
  color: var(--ui-ink) !important;
}

.admin-page .dashboard-header {
  margin: 18px 20px 0 280px !important;
  padding: 22px 24px !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.82) !important;
  box-shadow: 0 18px 52px rgba(38, 28, 18, 0.1) !important;
  backdrop-filter: blur(18px);
}

.admin-page .header-text h1 {
  color: var(--ui-ink) !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: clamp(2.2rem, 4vw, 4.4rem) !important;
  line-height: 0.94;
  letter-spacing: -0.05em;
}

.admin-page .header-text p {
  color: var(--ui-muted) !important;
}

.admin-badge {
  color: var(--ui-teal) !important;
  border: 1px solid rgba(13, 118, 108, 0.16) !important;
  background: rgba(13, 118, 108, 0.09) !important;
}

.admin-page .main-content {
  margin-left: 260px !important;
  margin-top: 0 !important;
  padding: 24px 28px 48px !important;
}

.admin-page .admin-container {
  padding: 0 !important;
}

.admin-page .stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
}

.admin-page .stat-card {
  text-align: left !important;
  overflow: hidden;
}

.admin-page .stat-value {
  color: var(--ui-ink) !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: 34px !important;
  line-height: 1;
}

.admin-page .stat-label {
  color: var(--ui-muted) !important;
}

.admin-page .quick-actions {
  gap: 12px !important;
}

.admin-page .action-btn {
  min-height: 76px !important;
  color: var(--ui-ink) !important;
  border-color: var(--ui-line) !important;
  background: rgba(255, 248, 236, 0.78) !important;
}

.admin-page .action-btn::before {
  background: var(--ui-teal) !important;
}

.admin-page .btn-blue,
.admin-page .btn-green,
.admin-page .btn-purple,
.admin-page .btn-red,
.admin-page .btn-dark,
.add-server-page .btn-blue,
.add-server-page .btn-green,
.add-server-page .btn-purple,
.add-server-page .btn-red,
.add-server-page .btn-dark {
  width: auto !important;
}

.admin-page .contact-admin button,
.admin-page .btn-group .btn {
  margin-top: 0 !important;
}

.broadcast-form textarea {
  width: 100%;
  min-height: 120px;
  padding: 12px;
}

/* Add server */
.add-server-page .admin-header {
  width: min(1180px, calc(100% - 32px));
  margin: 18px auto 0 !important;
  padding: 26px 28px !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 8px !important;
  color: var(--ui-ink) !important;
  background: rgba(255, 248, 236, 0.82) !important;
  box-shadow: var(--ui-shadow-soft) !important;
}

.add-server-page header h1 {
  color: var(--ui-ink) !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: clamp(2.1rem, 4vw, 4rem) !important;
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.add-server-page header p {
  color: var(--ui-muted) !important;
}

.add-server-page .content-wrapper {
  width: min(1180px, calc(100% - 32px));
  max-width: none !important;
  padding: 24px 0 54px !important;
}

.add-server-page .form-card {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.add-server-page .form-card .form-group,
.add-server-page .checkbox-group {
  grid-column: span 1 !important;
}

.add-server-page .form-card button {
  grid-column: 1 / -1 !important;
}

.add-server-page .form-card input[type="text"],
.add-server-page .form-card input[type="number"] {
  width: 100%;
}

@keyframes theme-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -16px, 0);
  }
}

@media (max-width: 980px) {
  .landing-header {
    border-radius: 8px !important;
    align-items: flex-start !important;
  }

  .nav-main,
  .nav-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .hero,
  .auth-shell {
    grid-template-columns: 1fr !important;
  }

  .hero {
    min-height: auto;
  }

  .hero-panel {
    min-height: 460px;
  }

  .hero-panel .panel-card {
    left: 0;
    right: auto;
    transform: none;
  }

  .hero-panel .panel-card:hover {
    transform: translateY(-4px) !important;
  }

  .auth-side-card {
    min-height: 320px;
  }

  .admin-page .dashboard-header {
    margin-left: 20px !important;
  }
}

@media (max-width: 768px) {
  body {
    background-attachment: scroll !important;
  }

  .landing-header {
    top: 8px !important;
    width: calc(100% - 20px);
    margin-top: 8px !important;
  }

  .landing-main,
  .section,
  .add-server-page .content-wrapper,
  .add-server-page .admin-header {
    width: calc(100% - 24px) !important;
  }

  .hero-v2 .hero-content h2,
  .hero-content h2 {
    font-size: clamp(2.8rem, 14vw, 4.8rem) !important;
  }

  .hero-panel {
    min-height: auto;
  }

  .hero-panel::before,
  .hero-panel::after {
    display: none;
  }

  .hero-panel .panel-card {
    position: relative;
    top: auto;
    width: 100%;
  }

  .footer-content {
    grid-template-columns: 1fr !important;
    text-align: left !important;
    justify-items: stretch !important;
  }

  .footer-contact {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .footer-links {
    justify-content: flex-start !important;
  }

  body.auth-page {
    padding: 16px !important;
  }

  .auth-shell {
    min-height: auto;
    width: calc(100vw - 48px) !important;
    max-width: 420px !important;
  }

  .auth-box {
    padding: 22px !important;
    overflow: hidden;
  }

  .navbar {
    height: 68px !important;
    padding: 0 14px !important;
  }

  .navbar-title {
    font-size: 24px !important;
  }

  .sidebar,
  .admin-page .sidebar {
    width: min(280px, 86vw) !important;
  }

  body.user-dashboard-page .sidebar {
    top: 68px !important;
    height: calc(100vh - 68px) !important;
  }

  .main-content,
  .admin-page .main-content {
    margin-left: 0 !important;
    margin-top: 68px !important;
    padding: 18px 12px 34px !important;
  }

  .admin-page .main-content {
    margin-top: 0 !important;
  }

  .admin-page .dashboard-header {
    margin: 12px 10px 0 !important;
    padding: 18px !important;
  }

  .admin-page .menu-toggle span {
    background: var(--ui-ink) !important;
  }

  .card-box,
  .card,
  .form-card {
    padding: 18px !important;
  }

  .card.table-card {
    padding: 0 !important;
  }

  .card.table-card .card-header {
    padding: 18px !important;
  }

  .table tr {
    border: 1px solid var(--ui-line) !important;
    background: rgba(255, 248, 236, 0.82) !important;
    box-shadow: none !important;
  }

  .table td::before {
    color: var(--ui-muted) !important;
  }

  .add-server-page .form-card {
    grid-template-columns: 1fr !important;
  }

  .add-server-page .form-card .form-group,
  .add-server-page .checkbox-group {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 520px) {
  .auth-shell {
    max-width: 360px !important;
  }

  .brand-text h1 {
    font-size: 16px !important;
  }

  .brand-text p {
    display: none;
  }

  .nav-main > a:not(.btn),
  .nav-actions > a:not(.btn),
  .nav-main > .btn,
  .nav-actions > .btn {
    flex: 1 1 calc(50% - 8px) !important;
    min-width: 0;
    padding: 10px 8px !important;
    font-size: 12px !important;
  }

  .hero-kpi-card {
    flex: 1 1 100%;
  }

  .auth-side-card::before {
    font-size: 3.5rem;
  }

  .quick-stats,
  .stats-grid {
    grid-template-columns: 1fr !important;
  }

  .btn-group,
  .button-group,
  .modal-actions,
  .reseller-terms-actions {
    flex-direction: column !important;
  }

  .btn-group .btn,
  .button-group .menu-btn,
  .modal-actions .btn {
    width: 100% !important;
  }
}
