:root {
  --minimal-bg: #f4f6f2;
  --minimal-surface: #ffffff;
  --minimal-surface-soft: #eef3ed;
  --minimal-border: #dbe4da;
  --minimal-text: #1d2a21;
  --minimal-muted: #68746c;
  --minimal-primary: #287a50;
  --minimal-primary-strong: #1f633f;
  --minimal-primary-soft: #dcecdf;
  --minimal-danger: #b94b4b;
  --minimal-warning: #a86f20;
  --minimal-radius: 12px;
  --minimal-shadow: 0 12px 32px rgba(30, 64, 43, 0.08);
}

html {
  background: var(--minimal-bg);
}

body {
  background: var(--minimal-bg) !important;
  color: var(--minimal-text);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

body.minimal-404-page {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
  background: #4f8b68 !important;
  color: #fff;
}

html.minimal-404-page-root {
  background: #4f8b68;
}

body.minimal-404-page #wrap {
  position: relative;
  z-index: 1;
}

body.minimal-404-page .animate {
  z-index: 0;
}

body.minimal-404-page #text a:hover,
body.minimal-404-page #text a:active {
  color: #315a43;
}

body.minimal-home-page .panel-heading .panel-title font {
  color: var(--minimal-text) !important;
}

body.minimal-home-page .panel-colorful,
body.minimal-home-page .panel-colorful .pad-all,
body.minimal-home-page .panel-colorful .media-body,
body.minimal-home-page .panel-colorful .media-heading,
body.minimal-home-page .panel-colorful .text-light {
  color: var(--minimal-text) !important;
}

body.minimal-home-page .panel-colorful .bg-trans-dark {
  background: var(--minimal-surface-soft) !important;
  color: var(--minimal-muted) !important;
}

a {
  color: var(--minimal-primary);
}

a:hover,
a:focus {
  color: var(--minimal-primary-strong);
}

.navbar,
.navbar-default,
.navbar-inverse,
.top-header,
.header,
.app-header {
  background: rgba(255, 255, 255, 0.97) !important;
  border-color: var(--minimal-border) !important;
  box-shadow: 0 1px 0 rgba(30, 64, 43, 0.05);
}

.navbar a,
.navbar-brand,
.navbar-nav > li > a {
  color: var(--minimal-text) !important;
}

.panel,
.panel-default,
.panel-info,
.panel-primary,
.block,
.widget,
.card,
.modal-content,
.dropdown-menu,
.well {
  background: var(--minimal-surface) !important;
  border: 1px solid var(--minimal-border) !important;
  border-radius: var(--minimal-radius) !important;
  box-shadow: var(--minimal-shadow) !important;
}

.panel-heading,
.panel-default > .panel-heading,
.panel-info > .panel-heading,
.panel-primary > .panel-heading,
.block-title,
.modal-header,
.widget-header {
  background: var(--minimal-surface-soft) !important;
  border-color: var(--minimal-border) !important;
  color: var(--minimal-text) !important;
}

.panel-title,
.block-title h1,
.block-title h2,
.block-title h3,
.modal-title {
  color: var(--minimal-text) !important;
  font-weight: 650;
  letter-spacing: -0.015em;
}

.btn {
  border-radius: 9px !important;
  font-weight: 600;
  box-shadow: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary,
.btn-info,
.btn-success {
  background: var(--minimal-primary) !important;
  border-color: var(--minimal-primary) !important;
  color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-info:hover,
.btn-info:focus,
.btn-success:hover,
.btn-success:focus {
  background: var(--minimal-primary-strong) !important;
  border-color: var(--minimal-primary-strong) !important;
}

.btn-default {
  background: #fff !important;
  border-color: var(--minimal-border) !important;
  color: var(--minimal-text) !important;
}

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

.btn-warning {
  background: var(--minimal-warning) !important;
  border-color: var(--minimal-warning) !important;
}

.form-control,
input,
select,
textarea {
  border-color: #cfd9ce !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--minimal-primary) !important;
  box-shadow: 0 0 0 3px rgba(40, 122, 80, 0.12) !important;
  outline: 0;
}

.input-group-addon,
.input-group-btn .btn {
  border-color: #cfd9ce !important;
}

.table > thead > tr > th {
  background: var(--minimal-surface-soft);
  border-bottom-color: var(--minimal-border) !important;
  color: #536158;
  font-size: 12px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.table > tbody > tr > td,
.table > tbody > tr > th {
  border-top-color: #e7ece6 !important;
  vertical-align: middle;
}

.list-group-item {
  background: #fff !important;
  border-color: #e3eae2 !important;
  color: var(--minimal-text) !important;
}

.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus,
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  background: var(--minimal-primary) !important;
  border-color: var(--minimal-primary) !important;
  color: #fff !important;
}

.label-primary,
.label-info,
.label-success,
.badge {
  background: var(--minimal-primary) !important;
}

.alert-info,
.alert-success {
  background: #edf6ef !important;
  border-color: #cfe4d3 !important;
  color: #285f3e !important;
}

.text-primary,
.text-info,
.text-success {
  color: var(--minimal-primary) !important;
}

.pagination > li > a,
.pagination > li > span {
  border-color: var(--minimal-border) !important;
  color: var(--minimal-primary) !important;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
  background: var(--minimal-primary) !important;
  border-color: var(--minimal-primary) !important;
  color: #fff !important;
}

.layui-layer,
.layui-layer-page,
.layui-layer-dialog {
  border-radius: var(--minimal-radius) !important;
  box-shadow: 0 24px 64px rgba(24, 54, 35, 0.2) !important;
  overflow: hidden;
}

.layui-layer-title {
  background: var(--minimal-surface-soft) !important;
  border-bottom-color: var(--minimal-border) !important;
  color: var(--minimal-text) !important;
}

.footer,
footer,
.app-footer {
  color: var(--minimal-muted) !important;
}

.minimal-user-page .app-aside,
.minimal-user-page .aside-wrap,
.minimal-user-page .navi-wrap {
  background: #173d2a !important;
}

.minimal-user-page .app-aside a,
.minimal-user-page .navi a,
.minimal-user-page .nav-sub a {
  color: rgba(255, 255, 255, 0.78) !important;
}

.minimal-user-page .navi ul.nav li a:hover,
.minimal-user-page .navi ul.nav li.active > a,
.minimal-user-page .navi ul.nav li li.active > a {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

.minimal-user-page .app-content,
.minimal-user-page .app-content-body,
.minimal-user-page .hbox,
.minimal-user-page .vbox {
  background: var(--minimal-bg) !important;
}

.minimal-user-page .wrapper-md,
.minimal-user-page .wrapper-lg {
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}

.minimal-auth-page .block,
.minimal-auth-page .panel,
.minimal-auth-page .widget {
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 767px) {
  .panel,
  .block,
  .widget,
  .card,
  .modal-content {
    border-radius: 10px !important;
  }

  .container,
  .container-fluid {
    padding-left: 12px;
    padding-right: 12px;
  }

  .table-responsive {
    border: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
