/* Client Portal — Figma theme (matches ESS). Loaded last in themes head. Scoped to body.customers. */
body.customers { font-family: 'Poppins','Inter',-apple-system,'Segoe UI',sans-serif !important; background: #EEF5FD !important; color: #1E2433; }
body.customers a { color: #0B5ED7; }
body.customers .navbar.header { background: #061A5C !important; border: 0 !important; box-shadow: 0 2px 12px rgba(6,26,92,.18); min-height: 72px; margin-bottom: 0; }
body.customers .navbar.header .navbar-brand { height: 72px; display: flex; align-items: center; }
body.customers .navbar.header .navbar-brand img { max-height: 28px; max-width: 150px; width: auto; height: auto; filter: none; background: #fff; border-radius: 8px; padding: 4px 8px; box-sizing: content-box; }
body.customers .navbar.header .navbar-nav > li > a { color: rgba(255,255,255,.88) !important; font-size: 13px; font-weight: 400; padding-top: 26px; padding-bottom: 26px; position: relative; transition: color .2s; }
body.customers .navbar.header .navbar-nav > li > a i { color: #fff; margin-right: 4px; }
body.customers .navbar.header .navbar-nav > li > a:hover, body.customers .navbar.header .navbar-nav > li > a:focus { color: #fff !important; background: rgba(255,255,255,.06) !important; }
body.customers .navbar.header .navbar-nav > li.active > a { color: #fff !important; background: #0A2470 !important; font-weight: 500; }
body.customers .navbar.header .navbar-nav > li.active > a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: #4DA3FF; }
body.customers .navbar.header .navbar-toggle { border-color: rgba(255,255,255,.3); margin-top: 19px; }
body.customers .navbar.header .navbar-toggle .icon-bar { background: #fff; }
body.customers .navbar.header .navbar-collapse { border-color: rgba(255,255,255,.1); }
body.customers .client-profile-image-small { border: 2px solid rgba(255,255,255,.85); box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
body.customers #wrapper, body.customers #content { background: transparent; }
body.customers .panel_s, body.customers .panel { border: 0 !important; border-radius: 12px !important; box-shadow: 0 1px 2px rgba(16,40,90,.04), 0 4px 16px rgba(16,40,90,.05) !important; }
body.customers .panel_s > .panel-body, body.customers .panel-body { border-radius: 12px; }
body.customers h1, body.customers h2, body.customers h3, body.customers h4, body.customers .section-heading { color: #0B1B4D; font-weight: 600; }
body.customers .btn { font-family: inherit; border-radius: 8px; position: relative; overflow: hidden; transition: transform .15s ease, box-shadow .2s ease; }
body.customers .btn:hover { transform: translateY(-1px); }
body.customers .btn:active { transform: scale(.97); }
body.customers .btn-primary, body.customers .btn-info { background: linear-gradient(90deg,#0A74D6 0%,#0A3DB8 100%) !important; border: 0 !important; color: #fff !important; }
body.customers .btn-primary:hover, body.customers .btn-info:hover { box-shadow: 0 6px 16px rgba(11,94,215,.3); }
body.customers .form-control:focus { border-color: #0B5ED7 !important; box-shadow: 0 0 0 3px rgba(11,94,215,.12) !important; }
body.customers .table > thead > tr > th { background: #F4F8FE; color: #4B5A78; font-weight: 600; border-bottom: 1px solid #E3EAF5; }
body.customers .table > tbody > tr:hover { background: #F7FAFF; }
body.customers .pagination > .active > a, body.customers .pagination > .active > span { background: #0B5ED7 !important; border-color: #0B5ED7 !important; }
body.customers .nav-tabs > li.active > a { color: #0B5ED7 !important; border-bottom-color: #0B5ED7 !important; }
body.customers .label-info, body.customers .label-primary { background: #E8F1FE; color: #0B5ED7; }
html body.customers footer.footer { background: #061A5C !important; color: rgba(255,255,255,.75) !important; border: 0 !important; }
html body.customers footer.footer a { color: #fff !important; }
html body.customers footer.footer a:hover { color: #4DA3FF !important; }
body.customers #content > .container > .row > * { animation: pt-rise .45s ease backwards; }
.ess-ripple { position: absolute; border-radius: 50%; background: rgba(255,255,255,.45); transform: scale(0); animation: pt-ripple .6s ease-out; pointer-events: none; }
@keyframes pt-ripple { to { transform: scale(2.4); opacity: 0; } }
@keyframes pt-rise { from { opacity: 0; transform: translateY(10px); } }
@media (max-width: 767px) {
  body.customers .navbar.header .navbar-nav > li > a { padding-top: 12px; padding-bottom: 12px; }
  body.customers .navbar.header .navbar-nav > li.active > a::after { display: none; }
  body.customers .navbar.header .navbar-nav .open .dropdown-menu > li > a { color: rgba(255,255,255,.85); }
}
@media (prefers-reduced-motion: reduce) { body.customers *, body.customers .btn { animation: none !important; transition: none !important; } }
/* Knowledge Base search: icon sat on top of the placeholder and below centre */
body.customers .input-group:has(> .kb-search-icon) { position: relative; }
body.customers .input-group > .kb-search-icon { position: absolute !important; left: 12px !important; right: auto !important; width: 16px !important; text-align: center; top: 20px !important; transform: translateY(-50%); height: auto !important; line-height: 1 !important; color: #8A97B0; z-index: 3; pointer-events: none; }
body.customers .kb-search-input { padding-left: 38px !important; }

/* ── Typography standard (2026-11-05): nothing readable under 11px; 16px form fields on phones (stops iOS zoom-on-focus) ── */
:not(i):not(.fa):not([class*="fa-"]):is([style*="font-size:7px"],[style*="font-size: 7px"],[style*="font-size:8px"],[style*="font-size: 8px"],[style*="font-size:9px"],[style*="font-size: 9px"],[style*="font-size:9.5px"],[style*="font-size: 9.5px"],[style*="font-size:10px"],[style*="font-size: 10px"],[style*="font-size:10.5px"],[style*="font-size: 10.5px"]) { font-size: 11px !important; }
@media (max-width: 767px) {
    input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="search"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], input:not([type]), select, textarea, .form-control { font-size: 16px !important; }
}

@media (max-width: 767px) {
    html body :is(input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="search"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], input:not([type]), select, textarea, .form-control, .bootstrap-select > .btn.dropdown-toggle) { font-size: 16px !important; }
}
html body :is(.table > thead > tr > th, table.dataTable > thead > tr > th) { font-size: 12px !important; }

/* ── Section heading standard (2026-11-05): page title 18 · section/card titles 16 · sub-sections 14 ── */
html body.customers :is(.section-heading, .panel-heading, .panel-title, .panel_s .panel-body > h4, .modal-title, h4.tw-text-lg) { font-size: 16px !important; font-weight: 600 !important; }
html body.customers :is(.panel_s .panel-body h5) { font-size: 14px !important; font-weight: 600 !important; }
html body.customers :is(.projects-summary-heading, .invoices-quick-info-heading, h3[class*="summary-hea"], h3[class*="quick-info-"]) { font-size: 16px !important; font-weight: 600 !important; }
