/* Customer portal: same palette as the admin theme, light + dark */
:root {
    --p-bg: #f4f6fa; --p-surface: #fff; --p-surface-2: #f8fafc; --p-border: #e5e8f1; --p-text: #1e293b; --p-text-2: #334155;
    --p-muted: #64748b; --p-primary: #2563eb; --p-grad: #2563eb;
    --p-shadow: 0 1px 2px rgba(15,23,42,.04), 0 4px 16px rgba(15,23,42,.06); --p-input: #fff; color-scheme: light;
}
html[data-theme="dark"] {
    --p-bg: #0b1120; --p-surface: #111827; --p-surface-2: #0f172a; --p-border: #1f2a3c; --p-text: #e6eaf3; --p-text-2: #cbd5e1;
    --p-muted: #94a3b8; --p-shadow: 0 6px 20px rgba(0,0,0,.3); --p-input: #0f172a; color-scheme: dark;
}
body {
    background: var(--p-bg) !important;
    background-attachment: fixed !important; color: var(--p-text-2);
}
body .navbar-default { background: var(--p-surface) !important; border-bottom: 1px solid var(--p-border) !important; box-shadow: 0 1px 0 rgba(15,23,42,.02); }
body .navbar-default .navbar-nav > li > a { color: var(--p-muted) !important; border-radius: 10px; }
body .navbar-default .navbar-nav > li > a:hover,
body .navbar-default .navbar-nav > .active > a { color: var(--p-primary) !important; background: rgba(37,99,235,.08) !important; }
body .navbar-default .navbar-brand.logo-text { color: var(--p-text) !important; }
body .navbar-default .navbar-nav > li.customers-nav-item-login > a { background: var(--p-grad) !important; color: #fff !important; }
body .panel_s .panel-body, body .panel_s, body .panel {
    background: var(--p-surface) !important; border: 1px solid var(--p-border) !important; border-radius: 16px !important; box-shadow: var(--p-shadow) !important;
}
body .panel_s { border: 0 !important; box-shadow: none !important; background: transparent !important; }
body .panel-heading, body .panel-footer { background: var(--p-surface-2) !important; border-color: var(--p-border) !important; color: var(--p-text); }
body h1, body h2, body h3, body h4, body h5 { color: var(--p-text); }
body .btn { border-radius: 10px; transition: transform .15s ease, filter .2s ease; }
body .btn:active { transform: scale(.97); }
body .btn-primary, body .btn-info { background: var(--p-grad) !important; border: 0 !important; color: #fff !important; box-shadow: none; border-radius: 8px; }
body .btn-primary:hover { filter: brightness(1.06); }
body .btn-default { background: var(--p-surface) !important; color: var(--p-text-2) !important; border-color: var(--p-border) !important; }
body .form-control, body .input-group-addon, body .bootstrap-select .btn.dropdown-toggle {
    background: var(--p-input) !important; color: var(--p-text) !important; border-color: var(--p-border) !important; border-radius: 10px;
}
body .input-group .form-control:not(:first-child), body .input-group-addon:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
body .input-group .form-control:not(:last-child), body .input-group-addon:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
body .form-control:focus { border-color: var(--p-primary) !important; box-shadow: 0 0 0 3px rgba(37,99,235,.18) !important; }
body .table > thead > tr > th { background: var(--p-surface-2) !important; color: var(--p-muted) !important; border-color: var(--p-border) !important; text-transform: uppercase; font-size: 11.5px; letter-spacing: .04em; }
body .table > tbody > tr > td { border-color: var(--p-border) !important; color: var(--p-text-2); }
body .table > tbody > tr:hover { background: rgba(26,84,144,.05); }
body .pagination > .active > a { background: var(--p-grad) !important; border-color: transparent !important; }
body .pagination > li > a { background: var(--p-surface) !important; border-color: var(--p-border) !important; color: var(--p-text-2) !important; }
body .dropdown-menu, body .modal-content { background: var(--p-surface) !important; border-color: var(--p-border) !important; border-radius: 14px !important; color: var(--p-text-2); }
body .dropdown-menu > li > a { color: var(--p-text-2) !important; }
body .progress { background: var(--p-surface-2) !important; border-radius: 999px; }
body footer { background: var(--p-surface) !important; border-top: 1px solid var(--p-border) !important; color: var(--p-muted); }
body #content > .row, body .panel_s { animation: pFade .45s cubic-bezier(.22,1,.36,1) both; }
@keyframes pFade { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.crm-theme-toggle > a { display: inline-flex !important; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0 !important; border-radius: 12px; background: rgba(37,99,235,.1) !important; color: #2563eb !important; }
body .navbar-default .navbar-nav > li.crm-theme-toggle > a { line-height: 36px !important; margin-top: 24px; }
@media (max-width: 767px) { body .navbar-default .navbar-nav > li.crm-theme-toggle > a { margin: 6px 15px; } }
.crm-theme-toggle .crm-sun { display: none; }
html[data-theme="dark"] .crm-theme-toggle .crm-sun { display: inline; color: #fbbf24; }
html[data-theme="dark"] .crm-theme-toggle .crm-moon { display: none; }
/* dark remaps for portal tailwind classes */
html[data-theme="dark"] body .tw-bg-white, html[data-theme="dark"] body .tw-bg-neutral-50,
html[data-theme="dark"] body .tw-bg-neutral-100, html[data-theme="dark"] body .bg-white { background-color: var(--p-surface-2) !important; }
html[data-theme="dark"] body .tw-text-neutral-900, html[data-theme="dark"] body .tw-text-neutral-800,
html[data-theme="dark"] body .tw-text-neutral-700 { color: var(--p-text) !important; }
html[data-theme="dark"] body .tw-text-neutral-600, html[data-theme="dark"] body .tw-text-neutral-500 { color: var(--p-muted) !important; }
html[data-theme="dark"] body [class*="tw-border-neutral-"] { border-color: var(--p-border) !important; }
html[data-theme="dark"] body .kb-search-jumbotron, html[data-theme="dark"] body .list-status a.active,
html[data-theme="dark"] body .well, html[data-theme="dark"] body .gdpr-right, html[data-theme="dark"] body .gdpr-purpose,
html[data-theme="dark"] body .preview-sticky-header { background: var(--p-surface-2) !important; border-color: var(--p-border) !important; color: var(--p-text-2); }
html[data-theme="dark"] body .list-status a { border-color: var(--p-border); }
html[data-theme="dark"] body .table.items thead { background: var(--p-surface-2); color: var(--p-text); }
html[data-theme="dark"] body .alert-info { background: rgba(14,165,233,.12); color: #7dd3fc; border-color: rgba(14,165,233,.3); }
html[data-theme="dark"] body .alert-warning { background: rgba(245,158,11,.12); color: #fcd34d; border-color: rgba(245,158,11,.3); }
html.crm-theme-anim, html.crm-theme-anim * { transition: background-color .35s ease, color .35s ease, border-color .35s ease !important; }
body #wrapper, body #content { background: transparent !important; }
body .section-client-dashboard #greeting, body .projects-summary-heading, body .invoices-quick-info-heading { color: var(--p-text) !important; }
body hr { border-color: var(--p-border) !important; }
/* custom.css uses !important with --pf-* variables: follow this palette */
html:root { --pf-surface: var(--p-surface); --pf-bg: var(--p-bg); --pf-border: var(--p-border); --pf-text: var(--p-text-2); --pf-text-muted: var(--p-muted); --pf-primary: #1d4ed8; --pf-primary-l: var(--p-primary); }
html[data-theme="dark"] { --p-primary: #3b82f6; --p-grad: #2563eb; }
body .btn-primary:hover, body .btn-info:hover { background: #1d4ed8 !important; }
html[data-theme="dark"] .crm-theme-toggle > a { background: rgba(59,130,246,.15) !important; color: #93c5fd !important; }
/* brand mark when no logo is uploaded */
.crm-brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 9px; background: #2563eb; color: #fff; font-weight: 800; font-size: 16px; margin-right: 10px; vertical-align: middle; }
body .navbar-default .navbar-brand.logo-text { display: inline-flex; align-items: center; }
@media (max-width: 767px) { body .navbar-default .navbar-brand.logo-text { font-size: 18px; } }
