/* 全站清爽后台主题：降低渐变、阴影、动画和过度装饰 */
:root {
    --ui-bg: #f4f6f8;
    --ui-surface: #ffffff;
    --ui-surface-soft: #f8fafc;
    --ui-border: #d9e0e8;
    --ui-border-soft: #e7ebf0;
    --ui-text: #1f2937;
    --ui-muted: #6b7280;
    --ui-primary: #2563eb;
    --ui-primary-hover: #1d4ed8;
    --ui-success: #16803c;
    --ui-warning: #b45309;
    --ui-danger: #dc2626;
    --ui-info: #0f766e;
    --ui-radius: 8px;
    --ui-radius-sm: 6px;
    --ui-shadow: 0 1px 2px rgba(15,23,42,.06);
    --ui-shadow-menu: 0 10px 28px rgba(15,23,42,.12);
}

html, body {
    color: var(--ui-text) !important;
    background: var(--ui-bg) !important;
}
body::before { display: none !important; }

.container, .content-area, .main-content, .card, .panel, .box, .login-box,
.tab-content, .modal-content, .stat-card, .room-card, .card-room,
.empty-card, .batch-group, .area-card, .quick-item, .stat-cell,
table.items-table, .table-wrap, .list-panel {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border-soft) !important;
    border-radius: var(--ui-radius) !important;
    box-shadow: var(--ui-shadow) !important;
}

.container {
    max-width: 1560px !important;
    padding: 20px !important;
}

h1, h2, h3, h4 {
    color: var(--ui-text) !important;
    letter-spacing: 0 !important;
}
h2 {
    border-bottom: 1px solid var(--ui-border) !important;
    padding-bottom: 12px !important;
}

.navbar {
    background: #1f2937 !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.06), 0 2px 10px rgba(15,23,42,.18) !important;
}
.navbar .brand {
    font-size: 17px !important;
    font-weight: 700 !important;
    text-shadow: none !important;
}
.navbar .nav-item,
.dropdown-submenu-content a.nav-item {
    border-radius: 6px !important;
    transition: background-color .15s, color .15s !important;
}
.navbar .nav-item:hover,
.dropdown-submenu-content a.nav-item:hover {
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    padding-left: 18px !important;
    transform: none !important;
}
.dropdown-content,
.dropdown-submenu-content {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius) !important;
    box-shadow: var(--ui-shadow-menu) !important;
}
.dropdown-content .nav-item,
.dropdown-submenu-content .nav-item {
    color: var(--ui-text) !important;
}
.dropdown-content .nav-item:hover,
.dropdown-submenu-content .nav-item:hover {
    background: #eff6ff !important;
    color: var(--ui-primary) !important;
}

.btn, button.btn, input[type=button], input[type=submit], .btn-submit,
.bt-op-btn, .more-menu-btn, .action-more-btn, .gear-btn,
.card-room .card-actions .btn, .card-room .card-res-actions .btn,
.actions-panel button, .guest-actions-row button {
    border-radius: var(--ui-radius-sm) !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .15s, border-color .15s, color .15s !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}
.btn:hover, button.btn:hover, input[type=button]:hover, input[type=submit]:hover,
.bt-op-btn:hover, .more-menu-btn:hover, .action-more-btn:hover, .gear-btn:hover,
.actions-panel button:hover, .guest-actions-row button:hover {
    transform: none !important;
    box-shadow: none !important;
    filter: none !important;
}
.btn-primary, .btn-submit, .bt-op-primary, .area-tab.active, .tab-btn.active,
.edit-tab-btn.active, .modal-footer .btn-primary {
    background: var(--ui-primary) !important;
    border-color: var(--ui-primary) !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-submit:hover, .bt-op-primary:hover, .area-tab.active:hover, .tab-btn.active:hover {
    background: var(--ui-primary-hover) !important;
}
.btn-success, .bt-op-success { background: var(--ui-success) !important; color: #fff !important; }
.btn-danger, .bt-op-danger, .btn-delete { background: var(--ui-danger) !important; color: #fff !important; }
.btn-warning, .bt-op-warning { background: var(--ui-warning) !important; color: #fff !important; }
.btn-info { background: var(--ui-info) !important; color: #fff !important; }
.btn-cancel, .btn-secondary { background: #64748b !important; color: #fff !important; }

input, select, textarea,
.tool-bar input, .tool-bar select,
.form-group input, .form-group select, .form-group textarea,
.modal-body input, .modal-body select, .modal-body textarea {
    background: #fff !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-sm) !important;
    color: var(--ui-text) !important;
    box-shadow: none !important;
}
input:focus, select:focus, textarea:focus,
.filter-select .filter-select-input:focus {
    border-color: var(--ui-primary) !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.12) !important;
    outline: none !important;
}
label, .form-group label { color: #374151 !important; }

.tool-bar, .shared-fields-bar {
    background: var(--ui-surface-soft) !important;
    border: 1px solid var(--ui-border-soft) !important;
    border-radius: var(--ui-radius) !important;
    padding: 10px 12px !important;
}

.tab-bar, .area-tabs {
    gap: 8px !important;
}
.tab-btn, .area-tab {
    background: #eef2f7 !important;
    color: #374151 !important;
    border: 1px solid transparent !important;
}
.tab-btn:hover, .area-tab:hover {
    background: #e2e8f0 !important;
    color: #111827 !important;
}

.stat-card, .stat-cell {
    padding: 12px !important;
    cursor: default !important;
}
.stat-card:hover, .card:hover, .panel:hover, .quick-item:hover, .empty-card:hover,
.room-card:hover, .card-room:hover {
    transform: none !important;
    box-shadow: var(--ui-shadow) !important;
}
.stat-card.primary, .grad-card, .grad-purple, .grad-pink, .grad-teal, .grad-blue {
    background: var(--ui-surface) !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border-soft) !important;
}
.grad-card * { color: var(--ui-text) !important; }
.grad-card::before, .grad-card::after,
.room-card::before, .card-room::before,
#checkinCardGrid .card-room::before, #checkinListCardGrid .card-room::before {
    display: none !important;
    animation: none !important;
}

.room-card, .card-room,
#checkinCardGrid .card-room, #checkinListCardGrid .card-room {
    background: var(--ui-surface) !important;
    animation: none !important;
    overflow: visible !important;
}
.room-card::after, .card-room::after,
#checkinCardGrid .card-room::after, #checkinListCardGrid .card-room::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    height: auto !important;
    right: auto !important;
    background: #94a3b8 !important;
    border-radius: 8px 0 0 8px !important;
    opacity: 1 !important;
    animation: none !important;
}
.card-room.card-normal::after, .tag.normal { background: #16a34a !important; }
.card-room.card-warning::after, .room-card.warning::after { background: #f59e0b !important; }
.card-room.card-expired::after, .room-card.expired::after { background: #dc2626 !important; }
.card-room.card-reservation::after { background: #2563eb !important; }
.card-room.card-empty::after { background: #64748b !important; }
.room-card.warning, .room-card.expired,
.card-room.card-warning, .card-room.card-expired {
    animation: none !important;
}

.card-status-tag, .tag, .card-status, .area-tag,
.batch-header .batch-room-types, .guest-block .guest-num {
    border-radius: 999px !important;
    box-shadow: none !important;
}

.batch-header, .card-header, .modal-header {
    background: #f8fafc !important;
    color: var(--ui-text) !important;
    border-bottom: 1px solid var(--ui-border-soft) !important;
    box-shadow: none !important;
}
.modal-header {
    border-radius: 8px 8px 0 0 !important;
}
.modal-header .modal-close, .modal-close {
    color: var(--ui-muted) !important;
}
.modal-footer {
    background: #f8fafc !important;
    border-top: 1px solid var(--ui-border-soft) !important;
    border-radius: 0 0 8px 8px !important;
}

.table-scroll, table {
    border-radius: var(--ui-radius) !important;
}
table {
    border-collapse: collapse !important;
    background: #fff !important;
    box-shadow: none !important;
}
th {
    background: #f1f5f9 !important;
    color: #334155 !important;
    border-bottom: 1px solid var(--ui-border) !important;
    font-weight: 700 !important;
}
td {
    border-bottom: 1px solid #edf1f5 !important;
}
tr:hover {
    background: #f8fafc !important;
}

.actions-panel {
    background: #fff !important;
    border: 1px solid var(--ui-border) !important;
    box-shadow: var(--ui-shadow-menu) !important;
}
.actions-panel button {
    background: #f8fafc !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border-soft) !important;
}
.actions-panel button:hover {
    background: #eff6ff !important;
    color: var(--ui-primary) !important;
    border-color: #bfdbfe !important;
}
.gear-btn {
    background: #fff !important;
    color: #475569 !important;
    border: 1px solid var(--ui-border) !important;
}
.gear-btn:hover .gear-icon { animation: none !important; }

.progress-fill, .area-bar-fill {
    background: var(--ui-primary) !important;
}
.progress-bar, .area-bar {
    background: #e5e7eb !important;
}

.fs-dropdown, .filter-select .dropdown {
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-sm) !important;
    box-shadow: var(--ui-shadow-menu) !important;
}
.fs-dropdown li:hover, .filter-select .dropdown li:hover,
.fs-dropdown li.active, .filter-select .dropdown li.active {
    background: #eff6ff !important;
    color: var(--ui-primary) !important;
}

@media (max-width: 768px) {
    .container { width: calc(100% - 20px) !important; padding: 14px !important; }
    .tool-bar, .shared-fields-bar { align-items: stretch !important; }
    .tool-bar input, .tool-bar select, .tool-bar button,
    .shared-field input, .shared-field select { width: 100% !important; }
}
