:root,
html[data-theme="light"] {
  --primary: #008b4b;
  --secondary: #006c3d;
  --accent: #d9f06a;
  --primary-fg: #fff;
  --body-fg: #17231d;
  --body-bg: #f4f8f5;
  --body-quiet-color: #6c7c73;
  --body-loud-color: #101a14;
  --header-color: #fff;
  --header-branding-color: #fff;
  --header-bg: #006c3d;
  --header-link-color: #fff;
  --breadcrumbs-fg: #dff7e9;
  --breadcrumbs-link-fg: #fff;
  --breadcrumbs-bg: #00834a;
  --link-fg: #007b43;
  --link-hover-color: #005d33;
  --link-selected-fg: #005d33;
  --hairline-color: #dce8e1;
  --border-color: #d5e3da;
  --darkened-bg: #edf4ef;
  --selected-bg: #e4f5ea;
  --selected-row: #edf9f1;
  --button-bg: #008b4b;
  --button-hover-bg: #006f3d;
  --default-button-bg: #006c3d;
  --default-button-hover-bg: #004f2d;
  --close-button-bg: #506059;
  --delete-button-bg: #c54848;
  --object-tools-bg: #008b4b;
  --object-tools-hover-bg: #006c3d;
}

* { box-sizing: border-box; }
body { font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif; }
#header {
  min-height: 76px;
  padding: 0 28px;
  background: linear-gradient(115deg, #005f37 0%, #008b4b 58%, #12a65d 100%);
  box-shadow: 0 8px 26px rgba(0, 85, 47, .18);
}
#branding { min-width: 280px; }
.suisheng-brand { display: flex; align-items: center; gap: 14px; height: 76px; }
.suisheng-brand__link { display: flex; align-items: center; gap: 12px; color: #fff !important; text-decoration: none; }
.suisheng-brand__mark,
.suisheng-login-card__logo {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px;
  color: #006c3d; background: linear-gradient(145deg, #efffb8, #cce863);
  font-size: 24px; font-weight: 800; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);
}
.suisheng-brand__text { display: flex; flex-direction: column; line-height: 1.2; }
.suisheng-brand__text strong { font-size: 20px; letter-spacing: .08em; }
.suisheng-brand__text small { margin-top: 4px; color: rgba(255,255,255,.75); font-size: 11px; letter-spacing: .12em; }
.suisheng-console-tag { color: rgba(255,255,255,.62); font-size: 11px; letter-spacing: .2em; white-space: nowrap; }
#user-tools { font-size: 12px; }
div.breadcrumbs { padding: 13px 28px; }
#content { padding: 28px; }
#content h1 { font-size: 26px; font-weight: 700; letter-spacing: -.02em; }
.module, .inline-group {
  overflow: hidden; border: 1px solid var(--border-color); border-radius: 14px;
  background: #fff; box-shadow: 0 8px 28px rgba(25, 73, 48, .06);
}
.module h2, .module caption, .inline-group h2 {
  padding: 13px 16px; background: linear-gradient(90deg, #007b43, #0a9554);
  font-size: 13px; font-weight: 700; letter-spacing: .04em;
}
.dashboard .module table th { width: 100%; }
.dashboard .module table td { white-space: nowrap; }
.dashboard #content-main { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.dashboard #content-main > .module { margin: 0; }
table thead th { background: #edf6f0; color: #33473c; font-weight: 700; }
tr:nth-child(even) { background: #fafcfb; }
tr:hover { background: #eff9f2; }
input, textarea, select, .vTextField {
  border-color: #cbdcd1; border-radius: 8px; padding: 9px 11px;
}
input:focus, textarea:focus, select:focus {
  border-color: #009653; box-shadow: 0 0 0 3px rgba(0, 150, 83, .12); outline: none;
}
.button, input[type="submit"], input[type="button"], .submit-row input, a.button {
  border-radius: 8px; padding: 10px 18px; font-weight: 700;
}
.object-tools a { border-radius: 8px; }

body.suisheng-login { background: #eef6f1; }
.suisheng-login #header { display: none; }
.suisheng-login #container { width: 100%; min-width: 0; min-height: 100vh; margin: 0; border: 0; background: transparent; }
.suisheng-login #main { width: 100%; min-height: 100vh; align-items: stretch; }
.suisheng-login #content { display: grid; place-items: center; width: 100%; max-width: none; margin: 0; padding: 38px; }
.suisheng-login #content-main { width: 100%; }
.suisheng-login-card {
  display: grid; grid-template-columns: 1.05fr .95fr; width: min(980px, 100%); min-height: 570px;
  overflow: hidden; border: 1px solid rgba(0, 108, 61, .12); border-radius: 28px;
  background: #fff; box-shadow: 0 30px 80px rgba(0, 74, 41, .16);
}
.suisheng-login-card__intro {
  position: relative; overflow: hidden; padding: 68px 58px; color: #fff;
  background: radial-gradient(circle at 92% 15%, rgba(208,239,101,.35), transparent 28%),
              linear-gradient(145deg, #004f2e 0%, #008b4b 62%, #0dab60 100%);
}
.suisheng-login-card__intro::after {
  content: ""; position: absolute; right: -120px; bottom: -150px; width: 360px; height: 360px;
  border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.05);
}
.suisheng-login-card__eyebrow { color: #dff483; font-size: 13px; letter-spacing: .16em; }
.suisheng-login-card__intro h1 { margin: 80px 0 24px; color: #fff; font-size: 40px; line-height: 1.28; }
.suisheng-login-card__intro h1 em { color: #dff483; font-style: normal; }
.suisheng-login-card__intro p { max-width: 390px; color: rgba(255,255,255,.75); font-size: 15px; line-height: 1.9; }
.suisheng-login-card__points { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.suisheng-login-card__points span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.82); font-size: 11px; }
.suisheng-login-card__form { align-self: center; padding: 58px; }
.suisheng-login-card__heading { display: flex; align-items: center; gap: 14px; margin-bottom: 42px; }
.suisheng-login-card__heading div { display: flex; flex-direction: column; }
.suisheng-login-card__heading strong { color: #16271d; font-size: 25px; }
.suisheng-login-card__heading small { margin-top: 5px; color: #839188; }
.suisheng-login-card__form .form-row { padding: 0 0 22px; }
.suisheng-login-card__form .form-row label { display: block; margin-bottom: 9px; color: #425249; font-size: 13px; font-weight: 700; }
.suisheng-login-card__form .form-row input { width: 100%; min-height: 46px; }
.suisheng-login-card__form .submit-row { padding: 8px 0 0 !important; border: 0; background: transparent; }
.suisheng-login-card__form .submit-row input { width: 100%; min-height: 46px; background: linear-gradient(90deg, #007b43, #0da45d); }
.suisheng-login-card__help { margin: 28px 0 0; color: #9aa69f; font-size: 11px; text-align: center; }

@media (max-width: 800px) {
  #header { min-height: 66px; padding: 0 16px; }
  .suisheng-brand { height: 66px; }
  .suisheng-brand__mark { width: 38px; height: 38px; border-radius: 12px; font-size: 20px; }
  .suisheng-brand__text strong { font-size: 17px; }
  .suisheng-brand__text small, .suisheng-console-tag { display: none; }
  #content { padding: 18px; }
  .dashboard #content-main { grid-template-columns: 1fr; }
  .suisheng-login #content { padding: 18px; }
  .suisheng-login-card { grid-template-columns: 1fr; min-height: auto; border-radius: 20px; }
  .suisheng-login-card__intro { display: none; }
  .suisheng-login-card__form { padding: 38px 28px; }
}

body.login.suisheng-login #container { width: 100% !important; min-width: 0 !important; min-height: 100vh; margin: 0 !important; border: 0; background: transparent; }
body.login.suisheng-login #main { width: 100% !important; min-height: 100vh; align-items: stretch; }
body.login.suisheng-login #content { display: grid; place-items: center; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 38px; }
body.login.suisheng-login #content-main { width: 100% !important; }
