/* 温润照护：统一的系统皮肤，沿用既有布局、权限和业务交互。 */
html:has(body.nav-theme-green) { background: #f3f3ed; }
body.nav-theme-green {
  --primary: #276b54;
  --primary-hover: #1d5642;
  --theme: #276b54;
  --nav-bg: #fffefa;
  --nav-color: #20262e;
  --side-bg: #e9eee5;
  --side-active: #fffefa;
  --side-color: #303c43;
  --side-icon: #50645a;
  --side-bottom: #e9eee5;
  --page-bg: #f3f3ed;
  --text: #20262e;
  --muted: #4f5963;
  --line: #d9e0d5;
  --line-soft: #e7ebe2;
  --care-surface: #fffefa;
  --care-tint: #e5eee5;
  --care-shadow: 0 5px 20px rgba(53, 75, 40, .045);
  --care-radius: 17px;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.55;
}
body.nav-theme-green :is(button, input, select, textarea) { font-family: inherit; }
body.nav-theme-green :is(button, input, select, textarea, a):focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}
body.nav-theme-green a { color: var(--primary); }
body.nav-theme-green :is(input, select, textarea) { accent-color: var(--primary); }
body.nav-theme-green :is(input, textarea)::placeholder { color: #626d72; opacity: 1; }

/* 导航：柔和底色承托内容，选中项用浅色曲面而非高饱和色块。 */
body.nav-theme-green .aui-navbar { background: var(--nav-bg); border-color: var(--line-soft); box-shadow: none; }
body.nav-theme-green .navbar_new_header { background: var(--side-bg); border-color: transparent; }
body.nav-theme-green :is(.lg_name, .user-meta b, .sidebar-context b) { color: var(--text); }
body.nav-theme-green :is(.logo_sub, .user-meta small, .sidebar-context small) { color: var(--muted); font-size: 11px; }
body.nav-theme-green :is(.module-nav__item, .nav-tool-btn, .user-name) { color: var(--muted); }
body.nav-theme-green :is(.module-nav__item:hover, .nav-tool-btn:hover, .user-name:hover) { background: var(--care-tint); color: var(--primary); }
body.nav-theme-green .user-avatar { background: var(--care-tint); color: var(--primary); border-radius: 50%; font-weight: 600; }
body.nav-theme-green .aui-sidebar { border-color: transparent; }
body.nav-theme-green .sidebar-context { height: 76px; }
body.nav-theme-green .sidebar-context__icon { background: var(--care-surface); color: var(--primary); border-radius: 12px; }
body.nav-theme-green .inline-input { background: var(--care-surface); border-color: transparent; border-radius: 10px; box-shadow: none; }
body.nav-theme-green .menu-section__title { color: var(--muted); font-weight: 500; letter-spacing: 1px; }
body.nav-theme-green .menu-section__title:hover { background: #dfe7db; }
body.nav-theme-green .menu-row { border-radius: 11px; margin: 4px 0; }
body.nav-theme-green .menu-row.is-active { box-shadow: var(--care-shadow); }
body.nav-theme-green .menu-row.is-active:before { display: none; }
body.nav-theme-green .menu-row.is-active .menu-symbol { background: transparent; color: var(--primary); }
body.nav-theme-green .menu-link { color: var(--side-color); border-radius: 11px; }
body.nav-theme-green .menu-link:hover { background: #f2f5ee; color: var(--primary); }
body.nav-theme-green .menu-symbol { color: var(--side-icon); }
body.nav-theme-green .bottom { border-color: #dce4d7; }
body.nav-theme-green .btn-item:hover { color: var(--primary); background: #dfe7db; }
body.nav-theme-green .tabbar { background: var(--page-bg); border-color: transparent; backdrop-filter: none; gap: 7px; }
body.nav-theme-green .tab { border-radius: 18px; color: var(--muted); }
body.nav-theme-green .tab:hover { background: var(--care-tint); }
body.nav-theme-green .tab.is-active { background: var(--care-surface); color: var(--primary); box-shadow: var(--care-shadow); }
body.nav-theme-green .pop { background: var(--care-surface); border-color: var(--line-soft); border-radius: 14px; box-shadow: 0 14px 36px rgba(35, 57, 40, .12); }
body.nav-theme-green .pop button:hover { background: var(--care-tint); }
body.nav-theme-green .theme-green { background: #276b54; }

/* 内容面板与统计：去掉重复的细框，用曲面和间距区分层级。 */
body.nav-theme-green :is(.panel, .empty-card, .home-card, .home-stat, .stat-card, .promotion-card) {
  background: var(--care-surface);
  border: 1px solid transparent;
  border-radius: var(--care-radius);
  box-shadow: var(--care-shadow);
}
body.nav-theme-green .panel { padding: 22px; }
body.nav-theme-green .q-bar { background: #f4f6ee; border-color: transparent; border-radius: 12px; gap: 12px; }
body.nav-theme-green :is(.page-head, .page-title, .home-section__head, .home-card__head) h2,
body.nav-theme-green :is(.panel h3, .panel h4, .cell-main, .detail-grid > div b) { color: var(--text); }
body.nav-theme-green :is(.page-head p, .cell-sub, .detail-grid > div span, .home-updated, .home-section__head p) { color: var(--muted); }
body.nav-theme-green .stat-card { padding: 18px 21px; }
body.nav-theme-green .stat-card:first-child { background: var(--primary); color: #fffefa; }
body.nav-theme-green .stat-card:first-child :is(.label, .value, .delta, .unit, span, b, small) { color: #fffefa; }
body.nav-theme-green :is(.stage-strip, .steps) { gap: 9px; }
body.nav-theme-green .stage-chip { border-color: transparent; border-radius: 11px; background: var(--care-surface); color: var(--muted); }
body.nav-theme-green .stage-chip.active { background: var(--care-tint); color: var(--primary); border-color: #9eb7a3; }
body.nav-theme-green .stage-chip.active b { color: var(--primary); }
body.nav-theme-green .steps div { background: var(--care-tint); border-radius: 10px; }

/* 按钮：主操作实色，次操作细边，行内操作保留轻量文字样式。 */
body.nav-theme-green :is(.q-bar button, .toolbar button, .dialog-actions button, .dispatch-shortcuts button, .dispatch-batch button, .policy-actions button, .channel-types-dialog button, .training-center > button, .training-dialog button, .promotion-actions button) {
  min-height: 34px; height: auto; padding: 7px 15px;
  border: 1px solid var(--line); border-radius: 20px;
  background: var(--care-surface); color: var(--text); box-shadow: none;
}
body.nav-theme-green :is(.q-bar button, .toolbar button, .dialog-actions button, .dispatch-shortcuts button, .channel-types-dialog button):hover:not(:disabled) {
  background: var(--care-tint); border-color: #9eb7a3;
}
body.nav-theme-green button.primary,
body.nav-theme-green :is(.q-bar, .toolbar, .dialog-actions) .primary {
  background: var(--primary); border-color: var(--primary); color: #fffefa;
}
body.nav-theme-green button.primary:hover:not(:disabled),
body.nav-theme-green :is(.q-bar, .toolbar, .dialog-actions) .primary:hover:not(:disabled) {
  background: var(--primary-hover); border-color: var(--primary-hover); color: #fffefa;
}
body.nav-theme-green :is(.q-bar .danger, .toolbar .danger) { color: #a33e36; background: #faeeeb; border-color: #ebd2cc; }
body.nav-theme-green :is(.q-bar .warn, .toolbar .warn) { color: #936026; background: #fbf1df; border-color: #eddfc8; }
body.nav-theme-green .q-bar .ok { color: var(--primary); background: var(--care-tint); border-color: #b5cabb; }
body.nav-theme-green :is(.q-bar button, .toolbar button, .dialog-actions button):disabled { background: #ecefe8; border-color: var(--line-soft); color: #8a9589; cursor: not-allowed; }
body.nav-theme-green :is(.ops button, .home-card__head > button, .business-grid em) { color: var(--primary); }
body.nav-theme-green .ops button:disabled { color: #98a296; }
body.nav-theme-green :is(.page-tab.active, .dispatch-tabs button.active) { color: var(--primary); border-bottom-color: var(--primary); }

/* 表单：填充色降低边框噪声，聚焦时给出明确反馈。 */
body.nav-theme-green :is(.q-bar, .toolbar, .dialog, .mod-ltci fieldset, .onboarding, .training-dialog, .promotion-card) :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=file]) {
  border: 1px solid var(--line); border-radius: 9px;
  background: #f7f8f2; color: var(--text); box-shadow: none;
}
body.nav-theme-green :is(.q-bar, .toolbar, .dialog, .mod-ltci fieldset) :is(input, select):not([type=checkbox]):not([type=radio]):not([type=file]):not([multiple]) { min-height: 36px; }
body.nav-theme-green :is(input, select, textarea):not([type=checkbox]):not([type=radio]):focus { border-color: #70997b; }
body.nav-theme-green :is(input, textarea):read-only { background: #eaf0e6; color: var(--muted); }
body.nav-theme-green :is(input, select, textarea):disabled { background: #eaf0e6; color: #7b897c; cursor: not-allowed; }
body.nav-theme-green .dialog { background: var(--care-surface); padding: 24px 28px 20px; border-radius: 20px; box-shadow: 0 24px 80px rgba(28, 49, 35, .2); }
body.nav-theme-green .dialog fieldset { border: 0; padding: 0; margin: 0; min-inline-size: 0; }
body.nav-theme-green .dialog [data-manage-kind] { padding: 5px 11px; margin-top: 7px; border: 1px solid var(--line); border-radius: 16px; background: var(--care-surface); color: var(--primary); font-size: 12px; }
body.nav-theme-green .dialog [data-manage-kind]:hover { background: var(--care-tint); }
body.nav-theme-green :is(.ltci-muted, .ltcs-muted, .dialog .tip, .dialog .field-help) { color: var(--muted); }
body.nav-theme-green .mask { background: rgba(28, 43, 32, .35); }
body.nav-theme-green .dialog-close-button { background: var(--care-tint); color: var(--muted); border-color: transparent; border-radius: 50%; }
body.nav-theme-green .dialog-close-button:hover { background: #d9e5d8; color: var(--primary); }
body.nav-theme-green .dialog-actions { border-top: 1px solid var(--line-soft); padding-top: 18px; margin-top: 22px; }
body.nav-theme-green :is(.menu-tree, .notice-options, .notice-picker-panel, .dialog.sheet [data-policy-scenario], .dialog.sheet .field-checks) { border-color: var(--line); border-radius: 11px; }

/* 表格：表头沉稳、行距舒适，悬停与状态不过度着色。 */
body.nav-theme-green .data th { background: #edf1e8; color: #35414a; padding: 13px 12px; font-size: 12px; border-bottom-color: var(--line); }
body.nav-theme-green .data td { color: var(--text); padding: 15px 12px; border-bottom-color: var(--line-soft); }
body.nav-theme-green .data tbody tr:nth-child(even) { background: #fafbf5; }
body.nav-theme-green .data tbody tr:hover { background: #edf3e9; }
body.nav-theme-green .data tbody tr:hover td { background: #edf3e9; }
body.nav-theme-green :is(.dispatch-table-wrap, .policy-table-wrap) { border-color: var(--line); border-radius: 10px; }
body.nav-theme-green .pager { align-items: center; flex-wrap: wrap; font-size: 12px; }
body.nav-theme-green .pager :is(button, select) { min-height: 32px; border-color: var(--line); border-radius: 8px; background: var(--care-surface); color: var(--text); }
body.nav-theme-green .pager button:disabled { color: #849080; background: #ecefe8; }
body.nav-theme-green .tag { border-radius: 12px; background: #edf0e8; color: #637160; padding: 0 9px; }
body.nav-theme-green .tag.blue { background: #e7efdf; color: #506c37; }
body.nav-theme-green .tag.ok { background: #e1eee5; color: #276b54; }
body.nav-theme-green .tag.warn { background: #fbf0df; color: #936026; }
body.nav-theme-green .tag.bad { background: #faeae6; color: #a33e36; }
body.nav-theme-green :is(.remind, .alert-info, .alert-bad, .onboarding aside, .policy-notice) { border-radius: 11px; }
body.nav-theme-green :is(.alert-info, .onboarding aside, .policy-notice) { color: #47604b; background: #eaf1e5; border-color: #cadcc3; }
body.nav-theme-green .toast { border-radius: 12px; background: var(--care-surface); border-color: var(--line); color: var(--text); box-shadow: 0 8px 28px rgba(35, 57, 40, .12); }
body.nav-theme-green .toast--ok { background: #e7f1e9; color: #276b54; }
body.nav-theme-green .toast--error { background: #faeae6; color: #a33e36; }
body.nav-theme-green .toast--warn { background: #fbf0df; color: #936026; }
body.nav-theme-green .rate-bar .track { background: var(--care-tint); }
body.nav-theme-green .rate-bar .track i { background: var(--primary); }

/* 首页：用短欢迎区、轻卡片和统一色阶替代蓝色大横幅。 */
body.nav-theme-green .home-hero { min-height: 0; padding: 12px 4px 20px; color: var(--text); background: none; border-radius: 0; box-shadow: none; align-items: flex-end; }
body.nav-theme-green :is(.home-hero:after, .home-hero__graphic) { display: none; }
body.nav-theme-green .home-hero__content { width: 100%; }
body.nav-theme-green .home-date { padding: 0; border: 0; background: none; color: var(--muted); letter-spacing: .5px; font-size: 12px; }
body.nav-theme-green .home-hero h1 { color: var(--text); font-size: 28px; margin: 12px 0 8px; font-weight: 600; }
body.nav-theme-green .home-hero p { color: var(--muted); }
body.nav-theme-green .home-hero__actions { margin-top: 20px; flex-wrap: wrap; }
body.nav-theme-green .home-hero__actions button { color: var(--primary); border-color: var(--line); border-radius: 21px; background: var(--care-surface); }
body.nav-theme-green .home-hero__actions .primary { color: #fffefa; border-color: var(--primary); background: var(--primary); }
body.nav-theme-green .home-hero__actions button:hover { background: var(--care-tint); }
body.nav-theme-green .home-hero__actions .primary:hover { background: var(--primary-hover); }
body.nav-theme-green :is(.home-section__head h2, .home-card__head h2, .home-stat b, .todo-list b, .business-grid b) { color: var(--text); }
body.nav-theme-green :is(.home-stat span, .home-stat small, .todo-list small, .business-grid small) { color: var(--muted); font-size: 12px; }
body.nav-theme-green .home-stat b { font-weight: 500; font-size: 29px; }
body.nav-theme-green .home-stat:first-child { background: var(--primary); }
body.nav-theme-green .home-stat:first-child :is(span, small, b) { color: #fffefa; }
body.nav-theme-green :is(.stat-icon.blue, .stat-icon.cyan, .stat-icon.green, .todo-type.blue, .todo-type.purple, .business-icon) { color: var(--primary); background: var(--care-tint); }
body.nav-theme-green .home-stat:first-child .stat-icon { color: #fffefa; background: rgba(255, 254, 250, .14); }
body.nav-theme-green :is(.stat-icon.orange, .todo-type.orange) { color: #936026; background: #fbf0df; }
body.nav-theme-green :is(.count-badge, .todo-list em) { color: var(--primary); background: var(--care-tint); }
body.nav-theme-green .todo-list > button { border-top-color: var(--line-soft); }
body.nav-theme-green .todo-list > button:hover { background: #f3f6ed; padding-left: 4px; }
body.nav-theme-green .home-todo .todo-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 10px; margin-top: 18px; }
body.nav-theme-green .home-todo .todo-list > button { min-width: 0; border: 1px solid var(--line-soft); border-radius: 12px; padding: 14px; align-items: flex-start; }
body.nav-theme-green .home-todo .todo-list > button:hover { padding-left: 14px; border-color: #b6c9b3; }
body.nav-theme-green .home-todo .todo-list .todo-type { flex-shrink: 0; }
body.nav-theme-green .home-todo .todo-list span { min-width: 0; }
body.nav-theme-green .quick-grid button { color: var(--text); background: #f3f5ed; border-color: transparent; border-radius: 13px; }
body.nav-theme-green .quick-grid i { color: var(--primary); }
body.nav-theme-green :is(.quick-grid button:hover, .business-grid button:hover) { background: #eaf1e3; color: var(--primary); border-color: transparent; box-shadow: none; transform: none; }
body.nav-theme-green .business-grid button { background: var(--care-surface); border-color: transparent; border-radius: var(--care-radius); box-shadow: var(--care-shadow); }

/* 登录与机构引导也使用同一套品牌色。 */
body.nav-theme-green :is(.login-container, .login-main) { background: var(--care-surface); }
body.nav-theme-green .login-brand-panel { background: radial-gradient(ellipse at 90% 80%, rgba(177, 201, 144, .18), transparent 55%), #285440; }
body.nav-theme-green .login-kicker { color: #c0d9b6; }
body.nav-theme-green .visual-card { box-shadow: 0 20px 45px rgba(19, 48, 30, .16); }
body.nav-theme-green .visual-cross { color: var(--primary); background: var(--care-surface); }
body.nav-theme-green .login-title h2 { color: var(--text); font-weight: 600; }
body.nav-theme-green :is(.login-title p, .login-label) { color: var(--muted); }
body.nav-theme-green .login-form .field { background: #f5f6ef; border-color: transparent; border-radius: 12px; }
body.nav-theme-green .login-form .field input { background: transparent; border: 0; box-shadow: none; }
body.nav-theme-green .login-form .field:focus-within { border-color: #70997b; box-shadow: 0 0 0 3px rgba(39, 107, 84, .09); }
body.nav-theme-green .login-btn-ui { background: var(--primary); box-shadow: none; border-radius: 24px; font-weight: 500; }
body.nav-theme-green .login-btn-ui:hover { background: var(--primary-hover); box-shadow: 0 6px 18px rgba(39, 107, 84, .13); transform: none; }
body.nav-theme-green .onboarding nav span { background: var(--care-tint); color: var(--muted); }
body.nav-theme-green .onboarding nav .active { background: var(--primary); color: #fffefa; }
body.nav-theme-green .training-nav a { background: var(--care-tint); border-color: transparent; color: var(--primary); border-radius: 16px; }
body.nav-theme-green :is(.policy-actions button, .policy-config button, .policy-region-results button, .policy-region-selection) { color: var(--primary); }
body.nav-theme-green .policy-actions button.primary { color: #fffefa; }
body.nav-theme-green .policy-region-results button:hover { background: var(--care-tint); }
body.nav-theme-green .platform-console { background: var(--page-bg); color: var(--text); }
body.nav-theme-green .platform-aside { background: #285440; }
body.nav-theme-green .platform-aside p { color: #c0d9b6; }
body.nav-theme-green .platform-aside nav button.active,
body.nav-theme-green .platform-aside button:hover { background: #3b6b50; }
body.nav-theme-green .platform-dialog { background: var(--care-surface); border-radius: 20px; }

/* 阅读对比：正文使用中性深灰，次要信息也保持清楚可读。 */
body.nav-theme-green :is(.q-bar label, .dialog label, .mod-ltci fieldset label, .confirm-text, .check-list li, .page-tab, .dispatch-tabs button) { color: var(--text); }
body.nav-theme-green :is(.stat-card:not(:first-child) .label, .stat-card:not(:first-child) .delta, .stage-chip span, .dispatch-sub, .training-center .data td > div, .rate-bar .label, .desc > div > span, .user-pop-head span, .user-caret, .btn-item) { color: var(--muted); }
body.nav-theme-green :is(.stat-card:not(:first-child) .value, .stage-chip b, .desc > div > b, .rate-bar .value) { color: var(--text); }
body.nav-theme-green .inline-input { color: var(--text); }
body.nav-theme-green .inline-input::placeholder { color: #626d72; }
body.nav-theme-green .home-stat em { color: #885210; }
body.nav-theme-green :is(.req, .login-error) { color: #a1322d; }
body.nav-theme-green .state-box--error { color: #a1322d; }
body.nav-theme-green .check-list li.warn { color: #885210; }
body.nav-theme-green .check-list li.bad { color: #a1322d; }

@media (max-width: 700px) {
  body.nav-theme-green .home-hero { padding: 8px 2px 14px; }
  body.nav-theme-green .home-hero h1 { font-size: 24px; }
  body.nav-theme-green .panel { padding: 16px; }
  body.nav-theme-green .dialog { padding: 20px 18px 16px; }
  body.nav-theme-green .home-section__head { flex-wrap: wrap; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  body.nav-theme-green button { transition: none; }
}
