/* Sage Garden theme — SMS only (DMS style.css is unchanged). */
:root {
  --sage-cream: #f8f8f6;
  --sage-white: #ffffff;
  --sage-mist: #eef1ec;
  --sage-soft: #c5d1c7;
  --sage: #a8b5a6;
  --sage-deep: #7e8e81;
  --sage-ink: #1d2335;
  --dms-navy: #5a6b60;
  --dms-navy-2: #6a7b70;
  --dms-navy-3: #7e8e81;
  --dms-cyan: #7e8e81;
  --dms-cyan-2: #a8b5a6;
  --dms-ink: #1d2335;
  --dms-muted: #6b756e;
  --dms-label: #7e8e81;
  --dms-bg: #f8f8f6;
  --dms-card: #ffffff;
  --dms-border: #dce3dc;
  --dms-field-bg: #f3f5f2;
  --dms-field-border: #d0d8d1;
  --dms-glow: 0 0 24px rgba(126, 142, 129, 0.28);
}

body {
  font-family: "Segoe UI", Inter, system-ui, -apple-system, sans-serif;
  color: var(--sage-ink);
}

/* Login */
body.sms-auth-body {
  background:
    linear-gradient(180deg, rgba(248, 248, 246, 0.18), rgba(90, 107, 96, 0.32)),
    url("/assets/login-bg.jpeg?v=1.1.4") center / cover no-repeat fixed;
}

.sms-auth-body .starfield {
  opacity: 0.12;
}

.sms-auth-body .auth-card {
  max-width: 460px;
  background: linear-gradient(180deg, rgba(248, 248, 246, 0.96), rgba(255, 255, 255, 0.94));
  border: 1px solid rgba(126, 142, 129, 0.28);
  box-shadow: 0 18px 48px rgba(29, 35, 53, 0.16);
  color: var(--sage-ink);
}

.sms-auth-body .auth-card::before {
  background: radial-gradient(
    380px circle at var(--auth-glow-x) var(--auth-glow-y),
    rgba(168, 181, 166, 0.28),
    transparent 55%
  );
}

.sms-auth-body .auth-secure {
  background: rgba(126, 142, 129, 0.12);
  border-color: rgba(126, 142, 129, 0.28);
  color: var(--sage-deep);
}

.sms-auth-body .auth-mark,
.brand-mark {
  background: linear-gradient(145deg, #c5d1c7, #7e8e81);
  color: #1d2335;
  box-shadow: 0 0 14px rgba(126, 142, 129, 0.35);
  font-size: 0.68rem;
  letter-spacing: 0.02em;
}

.sms-auth-body .auth-brand-copy h1 {
  color: var(--sage-ink);
}

.sms-auth-body .auth-brand-copy p,
.sms-auth-body .auth-card-foot {
  color: #6b756e;
}

.sms-auth-body .auth-subtitle,
.sms-auth-body .auth-label {
  color: var(--sage-deep);
}

.sms-auth-body .auth-input {
  background: #f3f5f2 !important;
  border: 1px solid #d0d8d1 !important;
  color: var(--sage-ink) !important;
}

.sms-auth-body .auth-input:focus {
  border-color: var(--sage-deep) !important;
  box-shadow: 0 0 0 2px rgba(126, 142, 129, 0.22) !important;
}

.sms-auth-body .auth-eye {
  color: #6b756e;
}

.sms-auth-body .auth-submit,
.btn-dms,
.btn-primary {
  background: #5a6b60 !important;
  border: 1px solid #5a6b60 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(90, 107, 96, 0.28);
}

.sms-auth-body .auth-submit:hover,
.btn-dms:hover,
.btn-primary:hover,
.btn-dms:focus,
.btn-primary:focus {
  background: #4a584f !important;
  border-color: #4a584f !important;
  color: #fff !important;
}

.btn-outline-primary {
  background: #fff !important;
  color: #5a6b60 !important;
  border-color: #7e8e81 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: #5a6b60 !important;
  border-color: #5a6b60 !important;
  color: #fff !important;
}

.btn-outline-secondary:hover,
.btn-secondary:hover,
.btn-outline-secondary:focus,
.btn-secondary:focus {
  border-color: #5a6b60 !important;
  color: #5a6b60 !important;
  background: #eef1ec !important;
}

.sidebar-avatar {
  background: linear-gradient(145deg, #a8b5a6, #5a6b60);
  color: #fff;
}

.sidebar-collapse-btn {
  color: #eef1ec;
}

.sidebar-logout,
.sidebar-logout i {
  color: #1d2335 !important;
  border-color: #c5d1c7;
}

.sidebar-logout:hover,
.sidebar-logout:focus,
.sidebar-logout:hover i,
.sidebar-logout:focus i {
  color: #b42318 !important;
}

.sidebar-collapse-btn {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
}

.sidebar-collapse-btn:hover {
  background: rgba(255, 255, 255, 0.24);
  color: #fff;
}

.dms-version-banner-inner {
  background: linear-gradient(180deg, #f8f8f6, #eef1ec);
  border: 1px solid #dce3dc;
  box-shadow: 0 16px 40px rgba(90, 107, 96, 0.22);
  color: #1d2335;
}

.dms-version-icon {
  background: rgba(90, 107, 96, 0.12);
  border-color: rgba(90, 107, 96, 0.28);
  color: #5a6b60;
}

.dms-version-title {
  color: #1d2335;
}

.dms-version-sub {
  color: #6b756e;
}

.dms-version-later {
  border-color: #c5d1c7;
  color: #5a6b60;
}

.dms-version-later:hover {
  background: rgba(90, 107, 96, 0.1);
  border-color: #5a6b60;
  color: #1d2335;
}

.dms-version-refresh,
.dms-dialog-btn.dms-dialog-ok {
  background: #5a6b60 !important;
  color: #fff !important;
  border: 1px solid #5a6b60 !important;
}

.dms-version-refresh:hover,
.dms-dialog-btn.dms-dialog-ok:hover {
  background: #4a584f !important;
  color: #fff !important;
}

.dms-dialog-overlay {
  background: rgba(29, 35, 53, 0.35);
}

.form-control,
.form-select {
  background-color: #f8f8f6;
  border-color: #d0d8d1;
}

.form-control:focus,
.form-select:focus {
  border-color: #7e8e81;
  box-shadow: 0 0 0 0.2rem rgba(90, 107, 96, 0.18);
}

a {
  color: #5a6b60;
}

a:hover {
  color: #4a584f;
}

/* Shell */
.app-sidebar {
  background:
    radial-gradient(600px 280px at 20% -10%, rgba(168, 181, 166, 0.35), transparent 60%),
    linear-gradient(180deg, #6a7b70, #5a6b60);
  color: #f4f6f3;
}

.sidebar-link {
  color: #e4ebe4;
}

.sidebar-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.sidebar-link.active {
  background: #f8f8f6;
  color: #1d2335;
}

.sidebar-user-name,
.sidebar-user-id,
.brand-text strong,
.brand-text small {
  color: inherit;
}

.app-topbar,
.app-footer {
  background: #ffffff;
}

.page-help {
  margin-top: 1.5rem;
  padding: 12px 14px;
  border: 1px solid var(--sage-soft);
  border-left: 3px solid var(--sage-deep);
  border-radius: 10px;
  background: #eef1ec;
  color: #4a564e;
}

.page-help-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5a6b60;
  margin-bottom: 4px;
}

.page-help-body {
  font-size: 0.82rem;
  line-height: 1.45;
}

.command-banner {
  color: #1d2335;
  background:
    linear-gradient(135deg, #eef1ec 0%, #c5d1c7 55%, #a8b5a6 100%);
  box-shadow: 0 14px 30px rgba(90, 107, 96, 0.16);
}

.command-kicker,
.command-metric-label {
  color: #5a6b60;
}

.command-sub {
  color: #4a564e;
}

.command-metric {
  background: rgba(255, 255, 255, 0.45);
  border-color: rgba(126, 142, 129, 0.28);
}

.stat-card::before,
.panel-card::before {
  background: radial-gradient(
    420px circle at var(--glow-x) var(--glow-y),
    rgba(126, 142, 129, 0.18),
    transparent 55%
  );
}

.text-primary,
.command-kicker.text-primary {
  color: #5a6b60 !important;
}

.table thead th {
  color: #6b756e;
}

.form-control:focus,
.form-select:focus {
  border-color: #7e8e81;
  box-shadow: 0 0 0 0.2rem rgba(126, 142, 129, 0.18);
}

/* Slider */
#smsSlider,
#smsSlider .carousel-inner,
#smsSlider .carousel-item {
  width: 100%;
  height: 520px;
  background: #5a6b60;
}

.sms-hero-slide {
  display: block;
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
}

@media (max-width: 767.98px) {
  #smsSlider,
  #smsSlider .carousel-inner,
  #smsSlider .carousel-item,
  .sms-hero-slide {
    height: 340px;
  }
}

.sms-receipt {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  color: #111;
  padding: 18px 22px;
  border: 1px solid #ccc;
}
.sms-receipt-head {
  text-align: center;
  border-bottom: 2px solid #111;
  padding-bottom: 8px;
  margin-bottom: 12px;
}
.sms-receipt-head .blessing {
  font-size: 0.85rem;
  letter-spacing: 0.04em;
}
.sms-receipt-head h1 {
  font-size: 1.45rem;
  font-weight: 800;
  margin: 4px 0;
  text-transform: uppercase;
}
.sms-receipt-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  margin-bottom: 10px;
}
.sms-receipt table {
  width: 100%;
  border-collapse: collapse;
}
.sms-receipt th, .sms-receipt td {
  border: 1px solid #333;
  padding: 6px 8px;
  font-size: 0.9rem;
}
@media print {
  .app-sidebar, .app-topbar, .app-footer, .page-help, .no-print { display: none !important; }
  .app-main { margin: 0 !important; }
  .sms-receipt { border: 0; }
}
