/* =============================================================================
   Ingolo Hosting HostBill theme | css/clientarea.css
   PURPOSE: Brand overrides for HostBill's client area (app.min.css / Bootstrap): Inter, brand colours, radii, buttons, forms, tables, alerts, sidebar.
   WHERE USED: Every non-store page (body.ingolo-ca): login, signup, services, invoices, tickets, knowledgebase, profile.
   DEPENDENCIES: Loaded after app.min.css by header.shared.tpl; css/variables.css for tokens.
   SAFE EDITS: Colours and radii only. Do not hide or reorder HostBill elements here; layout comes from the base 2019 template.
   TEST AFTER EDITING: Log in, view services, an invoice, open a ticket, edit profile at 375px and 1280px; dark-mode switch if enabled; check that no rule leaks onto store pages.
   SCOPE: storefront rules are prefixed with .ig (set on the header/footer chrome and
          <main> of store pages) so they never restyle HostBill's own client-area markup.
   ============================================================================= */

body.ingolo-ca { font-family: var(--font-sans) !important; color: var(--color-body); -webkit-font-smoothing: antialiased; }
body.ingolo-ca h1, body.ingolo-ca h2, body.ingolo-ca h3, body.ingolo-ca h4, body.ingolo-ca h5, body.ingolo-ca h6 { font-family: var(--font-sans) !important; color: var(--color-ink); letter-spacing: -0.01em; }
body.ingolo-ca input, body.ingolo-ca select, body.ingolo-ca textarea, body.ingolo-ca button { font-family: var(--font-sans) !important; }
body.ingolo-ca a { color: var(--color-link); }
body.ingolo-ca :focus-visible { outline: 3px solid var(--color-primary); outline-offset: 2px; }

/* Buttons */
body.ingolo-ca .btn { border-radius: var(--radius-btn); font-weight: 600; min-height: 40px; }
body.ingolo-ca .btn-primary, body.ingolo-ca .btn-info { background-color: var(--color-primary); border-color: var(--color-primary); color: #fff; }
body.ingolo-ca .btn-primary:hover, body.ingolo-ca .btn-primary:focus, body.ingolo-ca .btn-info:hover { background-color: var(--color-primary-strong); border-color: var(--color-primary-strong); color: #fff; }
body.ingolo-ca .btn-outline-primary { color: var(--color-primary-strong); border-color: var(--color-primary); }
body.ingolo-ca .btn-outline-primary:hover { background-color: var(--color-primary); color: #fff; }
body.ingolo-ca .btn-success { background-color: var(--color-success); border-color: var(--color-success); }
body.ingolo-ca .btn-danger { background-color: var(--color-danger); border-color: var(--color-danger); }

/* Forms */
body.ingolo-ca .form-control, body.ingolo-ca .custom-select, body.ingolo-ca select, body.ingolo-ca textarea, body.ingolo-ca input[type="text"], body.ingolo-ca input[type="email"], body.ingolo-ca input[type="password"] { border-radius: var(--radius-input); border-color: var(--color-border); font-size: 16px; color: var(--color-ink); }
body.ingolo-ca .form-control:focus, body.ingolo-ca .custom-select:focus { border-color: var(--color-primary); box-shadow: 0 0 0 4px rgba(32,151,206,.16); }
body.ingolo-ca label { color: var(--color-ink); font-weight: 600; }
body.ingolo-ca .custom-control-input:checked ~ .custom-control-label::before { background-color: var(--color-primary); border-color: var(--color-primary); }

/* Cards, panels, tables */
body.ingolo-ca .card, body.ingolo-ca .box, body.ingolo-ca .panel { border-radius: var(--radius-card); border-color: var(--color-border); }
body.ingolo-ca .table { color: var(--color-body); }
body.ingolo-ca .table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--color-muted); border-bottom-color: var(--color-border); }
body.ingolo-ca .table td, body.ingolo-ca .table th { border-top-color: var(--color-border); }
body.ingolo-ca .table-responsive { -webkit-overflow-scrolling: touch; }

/* Alerts and badges */
body.ingolo-ca .alert { border-radius: var(--radius-btn); }
body.ingolo-ca .alert-info { background: var(--color-primary-soft); border-color: #bfe0f3; color: #0f5d86; }
body.ingolo-ca .alert-success { background: var(--color-success-soft); border-color: #b9e3d0; color: #1e5e48; }
body.ingolo-ca .alert-warning { background: var(--color-warning-soft); border-color: #f1d9a9; color: #6e4a10; }
body.ingolo-ca .alert-danger { background: var(--color-danger-soft); border-color: #efc2c2; color: #7d2f2f; }
body.ingolo-ca .badge-primary, body.ingolo-ca .label-primary { background-color: var(--color-primary); }

/* Navigation and sidebar of the 2019 base */
body.ingolo-ca .nav-link.active, body.ingolo-ca .nav-pills .nav-link.active { background-color: var(--color-primary); color: #fff; }
body.ingolo-ca .page-item.active .page-link { background-color: var(--color-primary); border-color: var(--color-primary); }
body.ingolo-ca .page-link { color: var(--color-primary-strong); }
body.ingolo-ca .text-primary { color: var(--color-primary-strong) !important; }
body.ingolo-ca .bg-primary { background-color: var(--color-primary) !important; }

/* Touch targets in the client area menus */
@media (max-width: 991.98px) {
  body.ingolo-ca .nav-link, body.ingolo-ca .dropdown-item { min-height: 44px; display: flex; align-items: center; }
}
