/* 莲花智慧系统后台统一主题。以 2026-06-10 新仪表盘为基准。 */
:root {
    --lh-bg: #f5f6f8;
    --lh-surface: #fff;
    --lh-sidebar: #24312f;
    --lh-sidebar-border: rgba(255,255,255,.12);
    --lh-text: #24302f;
    --lh-heading: #1e2927;
    --lh-muted: #66736f;
    --lh-line: #e3e7e5;
    --lh-line-soft: #edf0ef;
    --lh-primary: #2f6f73;
    --lh-primary-hover: #285f62;
    --lh-gold: #a97722;
    --lh-danger: #aa4337;
    --lh-success: #2f9b62;
    --lh-radius: 8px;
}

* { box-sizing: border-box; }

html,
body {
    margin: 0 !important;
    min-height: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
    background: var(--lh-bg) !important;
    color: var(--lh-text) !important;
    letter-spacing: 0 !important;
}

.admin-container {
    display: flex !important;
    min-height: 100vh !important;
    background: var(--lh-bg) !important;
}

.sidebar {
    width: 250px !important;
    flex-shrink: 0 !important;
    background: var(--lh-sidebar) !important;
    color: #fff !important;
    padding: 20px 0 !important;
}

.sidebar-header {
    padding: 0 20px 20px !important;
    border-bottom: 1px solid var(--lh-sidebar-border) !important;
    margin-bottom: 16px !important;
}

.sidebar-header h1 {
    margin: 0 0 6px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: 0 !important;
}

.sidebar-header .user-info,
.user-info {
    font-size: 13px !important;
    color: rgba(255,255,255,.72) !important;
    opacity: 1 !important;
}

.nav-menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.nav-item {
    margin: 0 !important;
}

.nav-link {
    display: block !important;
    padding: 12px 20px !important;
    color: rgba(255,255,255,.86) !important;
    text-decoration: none !important;
    border-left: 3px solid transparent !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    transition: background .2s ease, border-color .2s ease, color .2s ease !important;
}

.nav-link:hover,
.nav-link.active {
    background: rgba(255,255,255,.08) !important;
    border-left-color: #d7a84f !important;
    color: #fff !important;
    font-weight: 500 !important;
}

.main-content {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 24px !important;
    background: var(--lh-bg) !important;
}

.header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    border: 0 !important;
}

h1, h2, h3, h4 {
    color: var(--lh-heading) !important;
    letter-spacing: 0 !important;
}

.header h2,
h2 {
    margin: 0 !important;
    font-size: 26px !important;
    font-weight: 750 !important;
    color: var(--lh-heading) !important;
}

h3 {
    margin: 0 0 14px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

h4 {
    margin: 0 0 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

p,
.muted,
.hint,
.metric-sub,
.subtitle,
.description {
    color: var(--lh-muted) !important;
    line-height: 1.55 !important;
}

.card,
.stat-card,
.metric,
.panel,
.filter-section,
.search-section,
.form-panel,
.table-container,
.content-card {
    background: var(--lh-surface) !important;
    border: 1px solid var(--lh-line) !important;
    border-radius: var(--lh-radius) !important;
    box-shadow: none !important;
    color: var(--lh-text) !important;
}

.card,
.stat-card,
.metric,
.panel,
.form-panel,
.filter-section,
.search-section,
.content-card {
    padding: 16px !important;
}

.stats-grid,
.grid {
    gap: 14px !important;
}

.stat-card h3,
.metric-label,
.card h3 {
    color: var(--lh-muted) !important;
}

.stat-number,
.stat-value,
.metric-value,
.value {
    color: #1f2d2a !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
}

.btn,
button,
input[type="submit"],
input[type="button"],
.action-btn,
.logout-btn,
a.btn {
    appearance: none !important;
    border: 0 !important;
    border-radius: 6px !important;
    padding: 9px 13px !important;
    color: #fff !important;
    background: var(--lh-primary) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    font: inherit !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.action-btn:hover,
.logout-btn:hover,
a.btn:hover {
    background: var(--lh-primary-hover) !important;
}

.btn.secondary,
.secondary,
.btn-cancel {
    background: #576562 !important;
}

.btn.warn,
.btn.gold {
    background: var(--lh-gold) !important;
}

.btn.danger,
.danger,
.btn-delete,
.delete-btn {
    background: var(--lh-danger) !important;
}

.action-view,
.action-edit,
.action-btn,
.view-btn,
.edit-btn {
    background: var(--lh-primary) !important;
    color: #fff !important;
}

.user-avatar {
    background: #e7ecea !important;
    color: var(--lh-primary) !important;
}

.ai-message,
.user-message {
    background: #f5f6f8 !important;
    border-radius: 8px !important;
    color: var(--lh-text) !important;
}

.modal-content,
.modal,
.popup-content {
    border-radius: 8px !important;
    border: 1px solid var(--lh-line) !important;
}

input,
textarea,
select {
    width: 100%;
    border: 1px solid #d5dbd9 !important;
    border-radius: 6px !important;
    padding: 9px 10px !important;
    color: var(--lh-text) !important;
    background: #fff !important;
    font: inherit !important;
    box-shadow: none !important;
}

input:focus,
textarea:focus,
select:focus {
    outline: 2px solid rgba(47,111,115,.16) !important;
    border-color: var(--lh-primary) !important;
}

label {
    color: #34413e !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #fff !important;
    border-radius: var(--lh-radius) !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

th,
td {
    padding: 11px 8px !important;
    border-bottom: 1px solid var(--lh-line-soft) !important;
    text-align: left !important;
    vertical-align: top !important;
    color: #2b3634 !important;
}

th {
    background: #fafbfb !important;
    color: #63716d !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

tr:hover td {
    background: #fbfcfc !important;
}

.notice,
.alert,
.success,
.error,
.message {
    border-radius: 8px !important;
    padding: 12px 14px !important;
    margin-bottom: 16px !important;
    border: 1px solid transparent !important;
}

.success,
.notice.success,
.alert-success {
    background: #e8f5ed !important;
    color: #1f6a42 !important;
    border-color: #b9dfc7 !important;
}

.error,
.notice.error,
.alert-error {
    background: #fff0ed !important;
    color: #a33b2e !important;
    border-color: #f2c2ba !important;
}

.status,
.badge,
.pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border-radius: 999px !important;
    padding: 3px 8px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    background: #edf3f2 !important;
    color: #2f5d5d !important;
}

.status.ok,
.badge.success,
.status-active {
    background: #e8f5ed !important;
    color: #1f6a42 !important;
}

.status.bad,
.badge.danger,
.status-inactive {
    background: #fff0ed !important;
    color: #a33b2e !important;
}

.status.warn,
.badge.warn {
    background: #fff7e6 !important;
    color: #936216 !important;
}

.status.muted,
.badge.muted {
    background: #eef1f0 !important;
    color: #66736f !important;
}

.tabs {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-bottom: 18px !important;
}

.tab {
    padding: 8px 12px !important;
    border-radius: 6px !important;
    background: #e7ecea !important;
    color: #33413e !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

.tab:hover,
.tab.active {
    background: #d7a84f !important;
    color: #fff !important;
}

.pagination a,
.pager a,
.page-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    min-width: 38px !important;
    padding: 7px 12px !important;
    border-radius: 6px !important;
    border: 1px solid #cfd8d5 !important;
    background: #fff !important;
    color: #245f63 !important;
    text-decoration: none !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}

.pagination a:hover,
.pager a:hover,
.page-link:hover {
    background: #edf5f4 !important;
    border-color: var(--lh-primary) !important;
    color: #173f42 !important;
}

.pagination a.active,
.pager a.active,
.page-link.active {
    background: var(--lh-primary) !important;
    border-color: var(--lh-primary) !important;
    color: #fff !important;
}

.pagination-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 14px 0 !important;
    padding: 12px 14px !important;
    background: #fff !important;
    border: 1px solid var(--lh-line) !important;
    border-radius: 8px !important;
}

.pagination-summary {
    color: var(--lh-muted) !important;
    font-size: 13px !important;
}

.pagination {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.pager {
    margin: 14px 0 !important;
    padding: 12px 14px !important;
    background: #fff !important;
    border: 1px solid var(--lh-line) !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.pager-info {
    color: var(--lh-muted) !important;
    font-size: 13px !important;
}

.per-page-form {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
}

.per-page-form select {
    width: auto !important;
    min-width: 76px !important;
    padding: 7px 28px 7px 9px !important;
}

.admin-top-tools {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: -4px 0 18px !important;
    padding: 8px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.admin-top-tools.compact {
    min-height: 38px !important;
}

.admin-tool-status {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.admin-global-search {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
    min-width: 260px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid var(--lh-line) !important;
    border-radius: 8px !important;
    padding: 12px !important;
}

.admin-global-search.large {
    max-width: 820px !important;
}

.admin-global-search input[type="search"] {
    min-height: 38px !important;
}

.admin-tool-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.admin-tool-link,
.admin-health-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    border: 1px solid #d7dfdc !important;
    background: rgba(255,255,255,.72) !important;
    color: #2d4d4d !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.admin-tool-link b {
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--lh-danger) !important;
    color: #fff !important;
    font-size: 11px !important;
}

.admin-health-pill span {
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #d7a84f !important;
}

.admin-health-pill.ok span {
    background: var(--lh-success) !important;
}

.admin-health-pill.warn span {
    background: #d7a84f !important;
}

.result-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.result-grid .wide {
    grid-column: 1 / -1 !important;
}

.task-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.task-card {
    display: block !important;
    text-decoration: none !important;
}

.two-col {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.section-space {
    margin-top: 16px !important;
}

code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    color: #244541 !important;
    background: #eef4f2 !important;
    padding: 2px 5px !important;
    border-radius: 4px !important;
}

@media (max-width: 900px) {
    .admin-container { display: block !important; }
    .sidebar { width: auto !important; }
    .main-content { padding: 18px !important; }
    .header { display: block !important; }
    .admin-top-tools { display: block !important; }
    .admin-tool-actions { justify-content: flex-start !important; margin-top: 10px !important; }
    .result-grid,
    .task-grid,
    .two-col { grid-template-columns: 1fr !important; }
    .table-wrap,
    .table-container { overflow-x: auto !important; }
}
