:root {
    --bc-blue: #0d47a1;
    --bc-dark: #12324a;
    --bc-green: #198754;
    --bc-orange: #f59f00;
    --bc-red: #dc3545;
}

body { background: #f4f6f9; }
.brand-link .brand-image { float: left; color: #fff; opacity: .9; }
.content-header h1 { font-size: 1.6rem; font-weight: 700; color: #183247; }
.card { border-radius: 6px; box-shadow: 0 0.125rem 0.35rem rgba(0, 0, 0, .08); }
.info-box { border-radius: 6px; box-shadow: 0 0.125rem 0.35rem rgba(0, 0, 0, .08); }
.btn { border-radius: 5px; }
.table td, .table th { vertical-align: middle; }
.wizard-step { border-left: 4px solid var(--bc-blue); padding-left: 1rem; margin-bottom: 1.25rem; }
.wizard-step h5 { font-weight: 700; color: #1d3557; }
.summary-card .description-header { font-size: 1.3rem; }
.print-estimate { max-width: 980px; margin: 24px auto; background: #fff; padding: 32px; }
.signature-line { border-top: 1px solid #444; width: 220px; margin-top: 48px; padding-top: 8px; }
.chart-placeholder { min-height: 180px; border: 1px dashed #b8c2cc; border-radius: 6px; color: #6c757d; display: flex; align-items: center; justify-content: center; background: #f8fafc; }
.logo-placeholder { width: 64px; height: 64px; border-radius: 6px; background: #e9f2ff; color: var(--bc-blue); display: flex; align-items: center; justify-content: center; }
.filter-box { border: 1px solid #e4e7eb; border-radius: 6px; background: #fff; padding: 12px; }
.catalogue-card { display: flex; flex-direction: column; margin-bottom: 24px; border-radius: 6px; overflow: hidden; background: #fff; box-shadow: 0 0.125rem 0.35rem rgba(0, 0, 0, .1); }
.catalogue-card-img { width: 100%; height: 180px; object-fit: cover; background: #f4f6f9; }
.catalogue-card-body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
.catalogue-card-body h5 { font-weight: 700; color: #183247; }
.catalogue-price { font-size: 1.2rem; font-weight: 700; color: var(--bc-blue); }
.catalogue-meta { font-size: .9rem; color: #6c757d; }
.catalogue-detail-img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 6px; background: #f4f6f9; }
.manual-body ul { padding-left: 20px; }
.empty-state { text-align: center; padding: 56px 20px; border: 1px dashed #cbd5df; border-radius: 6px; background: #fff; color: #52616f; }
.auto-plan-room-table { min-width: 1900px; }
.auto-plan-room-table .form-control-sm { min-width: 95px; }
.auto-plan-room-table [name*="[room_name]"],
.auto-plan-room-table [name*="[room_type]"],
.auto-plan-room-table [name*="[notes]"] { min-width: 140px; }
.auto-plan-summary .info-box { min-height: 76px; }
.breadcrumb { background: transparent; padding: 0; margin-bottom: 0; }

.dark-mode .content-wrapper { background: #1f252b; }
.dark-mode .card,
.dark-mode .info-box,
.dark-mode .modal-content,
.dark-mode .filter-box,
.dark-mode .catalogue-card,
.dark-mode .empty-state { background: #343a40; color: #f8f9fa; border-color: #454d55; }
.dark-mode .catalogue-card-body h5,
.dark-mode .content-header h1,
.dark-mode .catalogue-price { color: #f8f9fa; }
.dark-mode .catalogue-meta,
.dark-mode .text-muted { color: #ced4da !important; }
.dark-mode .table { color: #f8f9fa; }
.dark-mode .table-bordered,
.dark-mode .table-bordered td,
.dark-mode .table-bordered th { border-color: #515960; }
.dark-mode .form-control,
.dark-mode .custom-select,
.dark-mode input,
.dark-mode select,
.dark-mode textarea { background-color: #454d55; color: #fff; border-color: #6c757d; }
.dark-mode .form-control::placeholder { color: #c7cdd3; }
.dark-mode .page-link { background: #343a40; color: #f8f9fa; border-color: #515960; }
.dark-mode .page-item.active .page-link { background: #0d6efd; border-color: #0d6efd; }
.dark-mode .badge-light { background: #56606a; color: #fff; }

@media print {
    body,
    .content-wrapper,
    .invoice,
    .card,
    .table,
    .print-estimate { background: #fff !important; color: #000 !important; }
    .main-header, .main-sidebar, .main-footer, .content-header, .no-print { display: none !important; }
    .content-wrapper { margin-left: 0 !important; }
    .print-estimate { margin: 0; box-shadow: none; max-width: none; }
}
