﻿/* InverseAudit look (concept canvas, approved 2026-10-29): shared colours, font, side menu; then page parts (.ia-home ...).
   Loaded after the template (style.min.css) so these win; page-by-page parts are scoped to their page's class. */

:root {
    --ia-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --ia-bg: #fbfbfd;
    --ia-surface: #ffffff;
    --ia-side: #f2f2f5;
    --ia-side-line: #e3e3e8;
    --ia-line: #ececf0;
    --ia-line-soft: #f0f0f3;
    --ia-text: #1d1d1f;
    --ia-text-2: #424245;
    --ia-muted: #6e6e73;
    --ia-faint: #a1a1a6;
    --ia-zero: #c7c7cc;
    --ia-blue: #0066cc;
    --ia-blue-hover: #004f9e;
    --ia-blue-tint: #dce7f5;
    --ia-blue-soft: #eef3fb;
    /* one colour per building status: dot, text, tint */
    --ia-st-new: #a1a1a6;      --ia-st-new-text: #424245;      --ia-st-new-tint: #f2f2f5;
    --ia-st-prep: #d08700;     --ia-st-prep-text: #8a4b00;     --ia-st-prep-tint: #fff4e0;
    --ia-st-ready: #7b5cd6;    --ia-st-ready-text: #5232b0;    --ia-st-ready-tint: #f1edfc;
    --ia-st-progress: #0066cc; --ia-st-progress-text: #0b4f99; --ia-st-progress-tint: #e8f1fc;
    --ia-st-posted: #0f8a8a;   --ia-st-posted-text: #0b6363;   --ia-st-posted-tint: #e3f4f4;
    --ia-st-tracking: #1a7f37; --ia-st-tracking-text: #14632c; --ia-st-tracking-tint: #e6f4ea;
}

/* ---------- base ---------- */
body {
    font-family: var(--ia-font);
    font-size: 13.5px;
    color: var(--ia-text);
    background: var(--ia-bg);
}

a { color: var(--ia-blue); }
a:hover, a:focus { color: var(--ia-blue-hover); }

.btn-primary, .btn-primary:disabled, .btn-primary.disabled { background-color: var(--ia-blue); border-color: var(--ia-blue); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active { background-color: var(--ia-blue-hover); border-color: var(--ia-blue-hover); }

.footer {
    background: transparent;
    color: var(--ia-muted);
    font-size: 12px;
    padding: 16px 40px;
}

/* ---------- side menu ---------- */
.sidebar.ia-sidebar, .sidebar.ia-sidebar:before { background: var(--ia-side); }
.sidebar.ia-sidebar { border-right: 1px solid var(--ia-side-line); }

.sidebar.ia-sidebar .nav { padding: 18px 12px 12px; }

.sidebar.ia-sidebar .nav > li.ia-brand { padding: 2px 8px 16px; }
.ia-brand-link { display: flex; align-items: center; gap: 10px; color: var(--ia-text); cursor: default; }
.ia-brand-link img { width: 30px !important; height: 30px !important; margin: 0 !important; } /* Client/Home sets every img to auto margins */
.ia-brand-text { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; }
.ia-brand-thin { font-weight: 300; }

.sidebar.ia-sidebar .nav > li > a {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 34px;
    padding: 0 10px;
    border-radius: 8px;
    font-size: 13.5px;
    line-height: 34px;
    color: var(--ia-text);
    background: none;
}
.sidebar.ia-sidebar .nav > li > a i {
    width: 19px;
    margin: 0;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    color: var(--ia-blue);
    opacity: 1;
}
.sidebar.ia-sidebar .nav > li > a:hover, .sidebar.ia-sidebar .nav > li > a:focus { background: #e8e8ed; color: var(--ia-text); }
.sidebar.ia-sidebar .nav > li.active > a, .sidebar.ia-sidebar .nav > li.active > a:focus, .sidebar.ia-sidebar .nav > li.active > a:hover {
    background: var(--ia-blue-tint);
    color: var(--ia-text);
    font-weight: 600;
    opacity: 1;
}

.sidebar.ia-sidebar .nav > li.nav-header,
.sidebar.ia-sidebar .nav > li.nav-divider + li.nav-header {
    padding: 14px 10px 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ia-muted);
}
.sidebar.ia-sidebar .nav > li.nav-divider { height: 0; margin: 0; background: none; }
.sidebar.ia-sidebar .nav > li.nav-divider + li:not(.nav-header) { margin-top: 10px; }
.sidebar.ia-sidebar .nav > li.mb-5 { margin-bottom: 0 !important; }

/* help and your name sit at the bottom of the side menu; the menu above scrolls when the window is short */
.sidebar.ia-sidebar .slimScrollDiv { height: calc(100% - 118px) !important; }
.sidebar.ia-sidebar #slimSideMenu { height: 100% !important; } /* of the shortened area above, not the whole menu again */
.ia-sidebar-foot {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 8px 12px 14px;
    background: var(--ia-side);
}
.ia-side-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 34px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    background: none;
    font-size: 13.5px;
    color: var(--ia-text);
    text-align: left;
}
.ia-side-btn i { width: 19px; font-size: 16px; text-align: center; color: var(--ia-text-2); }
.ia-side-btn:hover, .ia-side-btn:focus, .ia-side-btn[aria-expanded="true"] { background: #e4e4ea; color: var(--ia-text); text-decoration: none; }
.ia-side-sep { height: 1px; background: var(--ia-side-line); margin: 8px 4px; }
.ia-user-btn { height: auto; padding: 6px 8px; }
.ia-avatar {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ia-blue-tint);
    color: var(--ia-blue);
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.ia-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ia-user-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.ia-user-name { font-size: 13px; font-weight: 600; color: var(--ia-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ia-user-sub { font-size: 11.5px; color: var(--ia-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ia-sidebar-foot .dropdown-menu {
    min-width: 220px;
    padding: 6px;
    border: 1px solid var(--ia-side-line);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
    font-size: 13.5px;
}
.ia-sidebar-foot .dropdown-item { padding: 8px 10px; border-radius: 7px; color: var(--ia-text); }
.ia-sidebar-foot .dropdown-item:hover, .ia-sidebar-foot .dropdown-item:focus { background: var(--ia-side); color: var(--ia-text); }
.ia-sidebar-foot .dropdown-item.ia-muted { color: var(--ia-muted); }
.ia-sidebar-foot .dropdown-divider { margin: 4px 6px; border-color: var(--ia-line); }
.ia-menu-head { padding: 8px 10px 10px; margin-bottom: 4px; border-bottom: 1px solid var(--ia-line); display: flex; flex-direction: column; gap: 2px; }
.ia-menu-head span:first-child { font-weight: 600; }
.ia-menu-head span + span { font-size: 12px; color: var(--ia-muted); }

/* the button that narrows the side menu: top right, next to the name */
.sidebar.ia-sidebar .sidebar-minify-btn { color: var(--ia-muted); background: transparent; border-radius: 8px; }
.sidebar.ia-sidebar .sidebar-minify-btn:hover, .sidebar.ia-sidebar .sidebar-minify-btn:focus { background: #e4e4ea; color: var(--ia-text); }

@media (min-width: 768px) {
    /* signed in, the top bar goes: help and your menu are at the bottom of the side menu */
    #page-container.ia-signed-in { padding-top: 0; }
    #page-container.ia-signed-in .header.navbar { display: none; }

    #page-container:not(.page-sidebar-minified) .sidebar.ia-sidebar,
    #page-container:not(.page-sidebar-minified) .sidebar.ia-sidebar:before { width: 240px; }
    #page-container.ia-signed-in:not(.page-sidebar-minified) .content { margin-left: 240px; }
    #page-container.ia-signed-in:not(.page-sidebar-minified) .footer { left: 240px; }
    #page-container.ia-signed-in.page-sidebar-minified .footer { left: 3.75rem; }

    #page-container:not(.page-sidebar-minified) .sidebar.ia-sidebar .sidebar-minify-btn { top: 20px; bottom: auto; right: 12px; width: 28px; height: 28px; line-height: 28px; }

    /* narrowed side menu: icons only */
    .page-sidebar-minified .sidebar.ia-sidebar .nav { padding: 14px 6px; }
    .page-sidebar-minified .sidebar.ia-sidebar .nav > li > a { justify-content: center; padding: 0; }
    .page-sidebar-minified .sidebar.ia-sidebar .nav > li > a i { height: auto; }
    .page-sidebar-minified .ia-brand-text, .page-sidebar-minified .ia-side-btn > span:not(.ia-avatar) { display: none; }
    .page-sidebar-minified .sidebar.ia-sidebar .nav > li.ia-brand { padding: 2px 0 14px; }
    .page-sidebar-minified .ia-brand-link { justify-content: center; }
    .page-sidebar-minified .ia-sidebar-foot { bottom: 1.625rem; padding: 8px 6px; }
    .page-sidebar-minified .ia-side-btn { justify-content: center; padding: 0; }
    .page-sidebar-minified .ia-user-btn { padding: 4px 0; }
}

/* ---------- shared page parts ---------- */
.ia-card {
    background: var(--ia-surface);
    border: 1px solid var(--ia-line);
    border-radius: 14px;
    padding: 18px 22px;
}
.ia-card-head { display: flex; align-items: center; gap: 12px; }
.ia-card-head h2 { margin: 0; flex-grow: 1; font-size: 15px; font-weight: 600; color: var(--ia-text); }
.ia-link-icon { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; text-decoration: none; }
.ia-link-icon:hover { text-decoration: none; }
.ia-dot { display: inline-block; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--ia-st-new); }

/* tabs drawn as one segmented control */
.nav.ia-segmented { display: inline-flex; align-self: flex-start; flex-wrap: wrap; gap: 0; padding: 2px; border: 0; border-radius: 9px; background: #ececf0; }
.nav.ia-segmented .nav-link {
    padding: 7px 16px;
    border: 0;
    border-radius: 7px;
    font-size: 13.5px;
    line-height: 1.3;
    color: var(--ia-text-2);
    background: none;
}
.nav.ia-segmented .nav-link:hover { color: var(--ia-text); }
.nav.ia-segmented .nav-link.active { background: var(--ia-surface); color: var(--ia-text); font-weight: 600; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12); }

/* ---------- Home ---------- */
.ia-home { padding: 32px 40px 40px; }
.ia-home > .panel { margin: 0; border: 0; background: none; box-shadow: none; }
.ia-home > .panel > .panel-heading { display: none; }
.ia-home > .panel > .panel-body { padding: 0; background: none; }
.ia-home .profile-container { padding: 0; background: none; }
.ia-home-top { display: flex; flex-direction: column; gap: 22px; margin-bottom: 22px; }

.ia-home #home { display: none; }
.ia-home #home.active { display: flex; flex-direction: column; gap: 22px; }
.ia-section-head h2 { margin: 0; font-size: 19px; font-weight: 700; color: var(--ia-text); }
.ia-section-head p { margin: 4px 0 0; font-size: 13.5px; color: var(--ia-muted); }

/* Building status, grouped by stage: Setup, Audit, Tracking */
.ia-status { display: flex; flex-direction: column; gap: 14px; }
.ia-phases { display: grid; grid-template-columns: 3fr 2fr 1fr; gap: 12px; }
.ia-phase { display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; border: 1px solid var(--ia-line-soft); border-radius: 12px; }
.ia-phase-head { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; }
.ia-phase-head span:first-child { font-weight: 600; color: var(--ia-text-2); }
.ia-phase-head span + span { color: var(--ia-faint); }
.ia-phase.ia-on .ia-phase-head span + span { color: var(--ia-text-2); }
.ia-phase-setup.ia-on { border-color: var(--ia-side-line); background: #fafafc; }
.ia-phase-audit.ia-on { border-color: #d6e5f7; background: #f7faff; }
.ia-phase-tracking.ia-on { border-color: #cfe8d6; background: #f6fbf7; }
.ia-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; }
.ia-step { display: flex; flex-direction: column; gap: 3px; }
.ia-step-count { font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--ia-zero); }
.ia-step-label { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ia-text-2); }
.ia-step.ia-on .ia-step-count { font-weight: 700; }
.ia-step.ia-on .ia-step-label { font-weight: 600; }
.ia-st-new .ia-dot { background: var(--ia-st-new); }
.ia-st-prep .ia-dot { background: var(--ia-st-prep); }
.ia-st-ready .ia-dot { background: var(--ia-st-ready); }
.ia-st-progress .ia-dot { background: var(--ia-st-progress); }
.ia-st-posted .ia-dot { background: var(--ia-st-posted); }
.ia-st-tracking .ia-dot { background: var(--ia-st-tracking); }
.ia-st-new.ia-on .ia-step-count, .ia-st-new.ia-on .ia-step-label { color: var(--ia-st-new-text); }
.ia-st-prep.ia-on .ia-step-count, .ia-st-prep.ia-on .ia-step-label { color: var(--ia-st-prep-text); }
.ia-st-ready.ia-on .ia-step-count, .ia-st-ready.ia-on .ia-step-label { color: var(--ia-st-ready-text); }
.ia-st-progress.ia-on .ia-step-count, .ia-st-progress.ia-on .ia-step-label { color: var(--ia-st-progress-text); }
.ia-st-posted.ia-on .ia-step-count, .ia-st-posted.ia-on .ia-step-label { color: var(--ia-st-posted-text); }
.ia-st-tracking.ia-on .ia-step-count, .ia-st-tracking.ia-on .ia-step-label { color: var(--ia-st-tracking-text); }

/* a status as a pill, in its status colour */
.ia-pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; color: var(--ia-st-new-text); background: var(--ia-st-new-tint); }
.ia-pill.ia-st-prep { color: var(--ia-st-prep-text); background: var(--ia-st-prep-tint); }
.ia-pill.ia-st-ready { color: var(--ia-st-ready-text); background: var(--ia-st-ready-tint); }
.ia-pill.ia-st-progress { color: var(--ia-st-progress-text); background: var(--ia-st-progress-tint); }
.ia-pill.ia-st-posted { color: var(--ia-st-posted-text); background: var(--ia-st-posted-tint); }
.ia-pill.ia-st-tracking { color: var(--ia-st-tracking-text); background: var(--ia-st-tracking-tint); }

/* pinned building cards */
.ia-home #pinnedBaselineListPartial > div { display: flex; flex-direction: column; gap: 16px; }
.ia-home .pinned-item.panel {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    padding: 20px 22px;
    border: 1px solid var(--ia-line);
    border-radius: 14px;
    background: var(--ia-surface) !important;
    box-shadow: none;
    cursor: pointer;
}
.ia-home .pinned-item.panel:hover { border-color: #c9d8ee; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); }
.ia-home .pinned-item.panel.active { padding: 19px 21px; border: 2px solid var(--ia-blue); box-shadow: none; }
.ia-home .pinned-item > .panel-heading { position: relative; padding: 0 120px 0 0; border: 0; background: none; color: var(--ia-text); }
.ia-home .pinned-item > .panel-heading > .d-flex { flex-direction: column !important; align-items: flex-start; gap: 2px; }
.ia-home .pinned-item > .panel-heading .panel-title { margin: 0; font-size: 17px !important; font-weight: 600; color: var(--ia-text); }
.ia-home .pinned-item > .panel-heading .text-muted { font-size: 12.5px !important; color: var(--ia-muted) !important; }
.ia-home .pinned-item > .panel-heading > p { margin: 2px 0 0; font-size: 13px; color: var(--ia-muted); }
.ia-home .pinned-item .panel-heading-btn { position: absolute; top: 0; right: 0; float: none; display: flex; align-items: center; gap: 8px; }
.ia-home .pinned-item .panel-heading-btn .label-warning { padding: 3px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; color: var(--ia-st-prep-text); background: #fff1dc; }
.ia-home .pinned-item .dropdown-icon > .btn { width: 32px; height: 32px; padding: 0; border-radius: 8px; background: var(--ia-side); color: var(--ia-text-2); display: inline-flex; align-items: center; justify-content: center; }
.ia-home .pinned-item .dropdown-icon > .btn:hover, .ia-home .pinned-item .dropdown-icon.show > .btn { background: var(--ia-blue-tint); color: var(--ia-blue); }
.ia-home .pinned-item .dropdown-menu { min-width: 200px; padding: 6px; border: 1px solid var(--ia-side-line); border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); }
.ia-home .pinned-item .dropdown-menu > li > a { display: block; padding: 8px 10px; border-radius: 7px; font-size: 13.5px; color: var(--ia-text); }
.ia-home .pinned-item .dropdown-menu > li > a:hover { background: var(--ia-side); text-decoration: none; }
.ia-home .pinned-item .dropdown-menu > li.divider { height: 1px; margin: 4px 6px; background: var(--ia-line); }
.ia-home .pinned-item > .panel-body { display: flex; flex-direction: column; gap: 16px; padding: 0; background: none; }

/* the four setup steps: green with a tick when done, amber "Pending" until then */
.ia-home .pinned-item .panel-body > .row:first-child { margin: 0 -5px; }
.ia-home .pinned-item .panel-body > .row:first-child > .col-6 { padding: 0 5px; }
.ia-home .pinned-item .widget { margin: 0; }
.ia-home .pinned-item .widget-list > li { padding: 0; }
.ia-home .pinned-item .widget-list > li + li { padding-top: 10px; }
.ia-home .pinned-item a.ia-tile {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 0;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #d7ecdc;
    border-radius: 11px;
    background: #f3faf5;
    font-size: 13.5px;
    line-height: 1.3;
    color: var(--ia-text);
    text-decoration: none;
}
.ia-home .pinned-item a.ia-tile:hover { border-color: #b5dbc0; }
.ia-home .pinned-item a.ia-tile.ia-tile-pending { border-color: #f3d9ad; background: #fffaf1; }
.ia-home .pinned-item a.ia-tile.ia-tile-pending:hover { border-color: #e9c27f; }
.ia-home .pinned-item a.ia-tile > div { display: block; width: auto; height: auto; padding: 0; border: 0; float: none; }
.ia-home .pinned-item a.ia-tile .widget-list-media { flex-shrink: 0; line-height: 0; color: var(--ia-st-tracking); background: none; }
.ia-home .pinned-item a.ia-tile.ia-tile-pending .widget-list-media { color: #9a5800; }
.ia-home .pinned-item a.ia-tile .widget-list-content { flex-grow: 1; min-width: 0; }
.ia-home .pinned-item a.ia-tile .widget-title { margin: 0; font-size: 13.5px; font-weight: 600; line-height: 1.3; color: var(--ia-text); }
.ia-home .pinned-item a.ia-tile .widget-desc { margin: 0; font-size: 12px; color: var(--ia-text-2); }
.ia-home .pinned-item a.ia-tile .widget-list-action { flex-shrink: 0; line-height: 0; color: var(--ia-st-tracking); }
.ia-pending { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; line-height: 1.3; color: var(--ia-st-prep-text); }

/* type, status, calibration: label above, value below */
.ia-home .pinned-item .panel-body > .row:last-child { margin: 0; padding-top: 14px; border-top: 1px solid var(--ia-line-soft); }
.ia-home .pinned-item .panel-body > .row:last-child > .col-4 { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 2px; padding: 0 12px 0 0; }
.ia-home .pinned-item .project-label { display: flex; flex-direction: column-reverse; gap: 2px; font-size: 14px; font-weight: 600; color: var(--ia-text); }
.ia-home .pinned-item .panel-body > .row:last-child small { font-size: 12px; font-weight: 400; color: var(--ia-muted); }
.ia-home .pinned-item > .panel-footer { padding: 0; border: 0; background: none; font-size: 12.5px; color: var(--ia-text-2); }
.ia-home .pinned-item > .panel-footer a { color: var(--ia-text-2); }
.ia-home .pinned-item > .panel-footer a[href] { color: var(--ia-blue); }
.ia-home #pinnedBaselineListPartial .jumbotron { margin: 0; padding: 28px; border: 1px dashed var(--ia-zero); border-radius: 14px; background: var(--ia-surface); }
.ia-home #pinnedBaselineListPartial .jumbotron h1 { font-size: 19px; font-weight: 700; }
.ia-home #pinnedBaselineListPartial .jumbotron .lead { margin: 0; font-size: 14px; color: var(--ia-muted); }

/* Building setup, beside the cards */
.ia-home #baselineControlPartial .panel { border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); box-shadow: none; }
.ia-home #baselineControlPartial .panel > .panel-heading { padding: 20px 20px 0; border: 0; background: none; }
.ia-home #baselineControlPartial .panel > .panel-heading .panel-title { font-size: 17px; font-weight: 600; color: var(--ia-text); }
.ia-home #baselineControlPartial .panel > .panel-heading .panel-title > i { display: none; }
.ia-home #baselineControlPartial .panel > .panel-toolbar { padding: 2px 20px 0; border: 0; background: none !important; text-align: left !important; }
.ia-home #baselineControlPartial #sel_bldg_name { margin: 0; padding: 0; border: 0; font-size: 12.5px; font-weight: 400 !important; color: var(--ia-muted); }
.ia-home #baselineControlPartial .panel > .panel-body { padding: 16px 20px 20px; background: none; }
.ia-home #baselineControlPartial #nav-main-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 2px; border: 0; border-radius: 9px; background: #ececf0; font-size: 13px !important; }
.ia-home #baselineControlPartial #nav-main-tabs .nav-link { padding: 6px 0 !important; border: 0; border-radius: 7px; text-align: center; color: var(--ia-text-2); background: none; }
.ia-home #baselineControlPartial #nav-main-tabs .nav-link.text-primary { color: var(--ia-blue) !important; }
.ia-home #baselineControlPartial #nav-main-tabs .nav-link.active { background: var(--ia-surface); color: var(--ia-text); font-weight: 600; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12); }
.ia-home #baselineControlPartial .tab-content-bordered { margin-top: 16px; padding: 0; border: 0; }
.ia-home #baselineControlPartial #baselineCtrlBtnArea { padding: 0; background: none; }
.ia-home #baselineControlPartial #baselineCtrlBtnArea .btn { padding: 12px 14px; border-radius: 12px; font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.ia-home #baselineControlPartial #baselineCtrlBtnArea .btn-outline-success { border: 1px solid #d7ecdc; background: #f3faf5; color: var(--ia-st-tracking-text); }
.ia-home #baselineControlPartial #baselineCtrlBtnArea .btn-outline-success:hover { border-color: #b5dbc0; background: #e9f6ed; }
.ia-home #baselineControlPartial #baselineCtrlBtnArea .btn-outline-primary { border: 1px solid #d6e4f5; background: #f5f8fd; color: var(--ia-st-progress-text); }
.ia-home #baselineControlPartial .nav-tabs:not(#nav-main-tabs) { gap: 18px; border-bottom: 1px solid var(--ia-line); }
.ia-home #baselineControlPartial .nav-tabs:not(#nav-main-tabs) .nav-link { padding: 6px 0 8px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--ia-muted); font-size: 13.5px; }
.ia-home #baselineControlPartial .nav-tabs:not(#nav-main-tabs) .nav-link.active { border-bottom-color: var(--ia-blue); color: var(--ia-text); font-weight: 600; }
.ia-home #baselineControlPartial .alert { padding: 11px 12px; border: 0; border-radius: 10px; font-size: 12.5px; line-height: 1.45; }
.ia-home #baselineControlPartial .alert-warning { background: #fff7e8; color: #5c3a00; }
.ia-home #baselineControlPartial .alert-danger { background: #fdecec; color: #8a1c1c; }
.ia-home #baselineControlPartial .alert-info, .ia-home #baselineControlPartial .alert-primary { background: #f5f8fd; color: var(--ia-text-2); }
.ia-home #baselineControlPartial .alert-success { background: #f3faf5; color: var(--ia-st-tracking-text); }
.ia-home #baselineControlPartial .badge-warning { padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; color: var(--ia-st-prep-text); background: #fff1dc; }
.ia-home #baselineControlPartial .badge-danger { padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; color: #8a1c1c; background: #fdecec; }

/* inside Building setup: Team, Subscription and Help tabs */
.ia-home #baselineControlPartial .tab-pane .panel-toolbar { padding: 0; border: 0; background: none; }
.ia-home #baselineControlPartial .tab-pane .panel-heading { padding: 0 !important; border: 0; background: none; }
.ia-home #baselineControlPartial .tab-pane .panel-title { margin: 0 0 6px; font-size: 13.5px; font-weight: 600; color: var(--ia-text); }
.ia-home #baselineControlPartial .btn-block { padding: 9px 12px; border-radius: 9px; font-size: 13px; font-weight: 600; }
.ia-home #baselineControlPartial .btn-info, .ia-home #baselineControlPartial .btn-outline-primary:not(.disabled) { border: 1px solid #d6e4f5; background: var(--ia-blue-soft); color: var(--ia-blue); }
.ia-home #baselineControlPartial .btn-info:hover, .ia-home #baselineControlPartial .btn-outline-primary:not(.disabled):hover { background: #e2ebf8; color: var(--ia-blue-hover); }
.ia-home #baselineControlPartial .btn-outline-info, .ia-home #baselineControlPartial .btn-outline-secondary { border: 1px solid var(--ia-side-line); background: var(--ia-surface); color: var(--ia-text-2); }
.ia-home #baselineControlPartial .btn-outline-warning, .ia-home #baselineControlPartial .btn-warning { border: 1px solid #f3d9ad; background: #fffaf1; color: var(--ia-st-prep-text); }
.ia-home #baselineControlPartial .btn-outline-danger { border: 1px solid #f2caca; background: #fff6f6; color: #a42020; }
.ia-home #baselineControlPartial .btn-outline-danger:hover { background: #fdecec; }
.ia-home #baselineControlPartial .btn.disabled, .ia-home #baselineControlPartial .btn:disabled { opacity: 0.55; }
.ia-home #baselineControlPartial code { padding: 2px 8px; border-radius: 999px; background: var(--ia-side); color: var(--ia-text-2); font-family: var(--ia-font); font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.ia-home #baselineControlPartial .widget-list { margin: 0; }
.ia-home #baselineControlPartial .widget-list-container { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.ia-home #baselineControlPartial .widget-list-container > div { display: block; width: auto; padding: 0; }
.ia-home #baselineControlPartial .widget-list-content { flex-grow: 1; min-width: 0; }
.ia-home #baselineControlPartial .widget-list-media i.ti-user { width: 32px; height: 32px; border-radius: 50%; background: var(--ia-blue-tint) !important; color: var(--ia-blue); display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
.ia-home #baselineControlPartial .widget-title { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--ia-text); }
.ia-home #baselineControlPartial .widget-desc, .ia-home #baselineControlPartial .desc { font-size: 12.5px; color: var(--ia-muted); }
.ia-home #baselineControlPartial hr { border-color: var(--ia-line); }

/* ---------- lists on Home: Buildings, Contacts, Clients ---------- */
.ia-home #baselineTab, .ia-home #teammateTab, .ia-home #clientTab { padding-top: 0; }
.ia-list-card { padding: 0; overflow: hidden; }
.ia-list-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 0; padding: 16px 20px; border-bottom: 1px solid var(--ia-line-soft); }
.ia-search { position: relative; flex: 0 1 340px; color: var(--ia-muted); }
.ia-search svg { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.ia-search .form-control { width: 100%; height: 34px; padding: 0 10px 0 32px; border: 1px solid var(--ia-side-line); border-radius: 9px; background: var(--ia-surface); font-family: var(--ia-font); font-size: 13.5px; box-shadow: none; }
.ia-search .form-control:focus { border-color: var(--ia-blue); box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15); }
.ia-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.ia-search .form-control-feedback { position: absolute; top: 50% !important; right: 4px; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 7px; background: none; font-size: 11px; line-height: 26px; color: var(--ia-muted); transform: translateY(-50%); }
.ia-search .form-control-feedback:hover { background: var(--ia-side); color: var(--ia-text); }
.ia-list-toolbar .ia-search + .btn { margin-left: auto; }
.ia-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 9px; font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.ia-btn-soft { border: 0; background: var(--ia-blue-soft); color: var(--ia-blue); }
.ia-btn-soft:hover, .ia-btn-soft:focus { background: #e2ebf8; color: var(--ia-blue-hover); }
.ia-list-hint { padding: 12px 20px 0; font-size: 12.5px; color: var(--ia-muted); }

.ia-table { margin: 0; font-size: 13.5px; color: var(--ia-text); }
.ia-table thead th { padding: 12px 8px; border: 0; font-size: 12px; font-weight: 600; color: var(--ia-muted); text-align: left; white-space: nowrap; }
.ia-table tbody td { padding: 14px 8px; border-top: 1px solid var(--ia-line-soft); text-align: left; vertical-align: top; }
.ia-table th:first-child, .ia-table td:first-child { padding-left: 20px; }
.ia-table th:last-child, .ia-table td:last-child { padding-right: 20px; }
.ia-table .ia-col-pin { width: 64px; }
.ia-table tr.list-group-item { display: table-row; padding: 0; border: 0; background: none; }
.ia-table tr.list-group-item:hover { background: #fafafc; }
.ia-table tr.ia-group-row td { padding: 8px 20px; border-top: 1px solid var(--ia-line-soft); background: #f7f7f9; font-size: 12px; font-weight: 600; color: var(--ia-muted); }
.ia-strong-link { font-weight: 600; }
.ia-stage { display: inline-flex; align-items: center; gap: 7px; }
.ia-open-links { display: flex; flex-wrap: wrap; gap: 4px 14px; font-weight: 600; }
.ia-open-links a.disabled { color: var(--ia-faint); }

/* the Pin switch: on = shown on Home */
.ia-switch { display: inline-flex; width: 36px; height: 22px; padding: 2px; border-radius: 999px; background: #d9d9de; vertical-align: middle; transition: background 0.15s; }
.ia-switch > span { width: 18px; height: 18px; border-radius: 50%; background: #ffffff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); transition: transform 0.15s; }
.ia-switch.ia-on { background: var(--ia-blue); }
.ia-switch.ia-on > span { transform: translateX(14px); }
.ia-switch:focus { outline: 2px solid rgba(0, 102, 204, 0.4); outline-offset: 2px; }

.ia-home #allBaselineListPartial .jumbotron, .ia-home #allTeamMembersPartial > .card, .ia-home #allTeamClientsPartial > .card { margin: 16px 20px 20px; padding: 22px; border: 1px dashed var(--ia-zero); border-radius: 12px; background: var(--ia-surface); box-shadow: none; }
.ia-home #allBaselineListPartial .jumbotron { margin: 16px 0 0; }
.ia-home #allBaselineListPartial .jumbotron h1 { font-size: 17px; font-weight: 700; }
.ia-home #allBaselineListPartial .jumbotron .lead { margin: 0; font-size: 13.5px; color: var(--ia-muted); }
.ia-home #allTeamMembersPartial > .card .card-body, .ia-home #allTeamClientsPartial > .card .card-body { padding: 0; }

/* contacts: cards; a ticked card is selected for the invitation */
.ia-contacts.list-inline { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; margin: 0; padding: 16px 20px 20px; }
.ia-contacts .list-inline-item.card { margin: 0 !important; min-height: 0; border: 1px solid var(--ia-line); border-radius: 12px; background: var(--ia-surface); box-shadow: none; cursor: pointer; }
.ia-contacts .list-inline-item.card:hover { border-color: #c9d8ee; }
.ia-contacts .list-inline-item.card.active, .ia-contacts .list-inline-item.card.active:hover { border: 2px solid var(--ia-blue); background: #f7faff !important; color: inherit; min-height: 0; }
.ia-contacts .card-body { padding: 12px 14px; font-size: 13.5px; }
.ia-contacts .list-inline-item.active .card-body { padding: 11px 13px; }
.ia-contacts .card-title { font-weight: 600; }
.ia-contacts .card-text { margin-top: 2px !important; font-size: 12px; color: var(--ia-muted); }
.ia-contacts .removeTeamMemberBtn { color: var(--ia-muted); }
.ia-contacts .removeTeamMemberBtn:hover { color: #a42020; }

/* clients: an icon, the company and its email */
.ia-clients { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; margin: 0; padding: 16px 20px 20px; list-style: none; }
.ia-clients > li.card { margin: 0; border: 1px solid var(--ia-line); border-radius: 12px; background: var(--ia-surface); box-shadow: none; cursor: pointer; }
.ia-clients > li.card:hover { border-color: #c9d8ee; }
.ia-clients > li > a { display: flex; align-items: center; gap: 12px; padding: 12px 13px; color: var(--ia-text); text-decoration: none; }
.ia-client-icon { flex-shrink: 0; width: 36px; height: 36px; border-radius: 9px; background: var(--ia-side); color: var(--ia-muted); display: flex; align-items: center; justify-content: center; }
.ia-client-text { display: flex; flex-direction: column; min-width: 0; }
.ia-client-text .card-title { margin: 0; font-size: 13.5px; font-weight: 600; }
.ia-client-sub { font-size: 12px; color: var(--ia-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- analysis pages (.ia-page): the template's panels drawn as the concept's cards ---------- */
.ia-page { padding: 28px 40px 40px; }
.ia-page > .panel { margin: 0; border: 0; background: none; box-shadow: none; }
.ia-page > .panel > div:first-child { margin: 0 !important; padding: 0 !important; }
.ia-page .mr-4 { margin-right: 0 !important; }
.ia-page .panel .panel {
    margin-bottom: 16px;
    border: 1px solid var(--ia-line);
    border-radius: 14px;
    background: var(--ia-surface);
    box-shadow: none;
}
.ia-page .panel .panel > .panel-heading { padding: 18px 22px 0; border: 0; background: none; }
.ia-page .panel-title { font-size: 16px; font-weight: 600; color: var(--ia-text); }
.ia-page .panel-title > i:first-child { display: none; }
.ia-page .panel .panel > .panel-body { padding: 16px 22px 20px; background: none; }
.ia-page .panel .panel > .panel-footer { padding: 16px 22px 20px; border-top: 1px solid var(--ia-line-soft); background: none; }
.ia-page .desc { font-size: 12.5px; color: var(--ia-muted); }
.ia-page code { padding: 1px 6px; border-radius: 6px; background: var(--ia-side); color: var(--ia-text-2); font-family: var(--ia-font); font-size: 11.5px; font-weight: 600; }
.ia-page .text-warning { color: #b25e09 !important; }
.ia-page .text-success { color: var(--ia-st-tracking) !important; }

/* the building bar: the building, its client, the page's actions */
.ia-page .bootstrap-select > .dropdown-toggle { height: 36px; border: 0; border-radius: 9px; background: #ececf0; color: var(--ia-text); font-size: 14px; font-weight: 600; box-shadow: none; }
.ia-page .bootstrap-select > .dropdown-toggle .filter-option { background: none !important; color: var(--ia-text) !important; }
.ia-page .bootstrap-select .dropdown-menu { border: 1px solid var(--ia-side-line); border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); }
.ia-page .dropdown-menu { border: 1px solid var(--ia-side-line); border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); }

/* the page's tabs: underlined */
.ia-page .profile-header { margin: 8px 0 16px !important; border: 0; background: none; box-shadow: none; }
.ia-page .profile-header-tab.nav-tabs { gap: 26px; padding: 0 !important; border: 0; border-bottom: 1px solid var(--ia-side-line); background: none; }
.ia-page .profile-header-tab.nav-tabs .nav-item { margin: 0; }
.ia-page .profile-header-tab.nav-tabs .nav-link { padding: 6px 0 10px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--ia-muted); font-size: 14.5px; font-weight: 400; }
.ia-page .profile-header-tab.nav-tabs .nav-link:hover { color: var(--ia-text); }
.ia-page .profile-header-tab.nav-tabs .nav-link.active { border-bottom-color: var(--ia-blue); color: var(--ia-text); font-weight: 600; }
.ia-page .profile-header-tab.nav-tabs .nav-link.active:after, .ia-page .profile-header-tab.nav-tabs .nav-link:before { display: none; }

/* tabs inside a card: one segmented control */
.ia-page .nav-tabs:not(.profile-header-tab):not(#nav-tabs) { display: inline-flex; flex-wrap: wrap; gap: 0; margin-bottom: 16px; padding: 2px; border: 0; border-radius: 9px; background: #ececf0; font-size: 12.5px !important; }
.ia-page .nav-tabs:not(.profile-header-tab):not(#nav-tabs) .nav-link { padding: 5px 12px; border: 0; border-radius: 7px; background: none; color: var(--ia-text-2); }
.ia-page .nav-tabs:not(.profile-header-tab):not(#nav-tabs) .nav-link.active { background: var(--ia-surface); color: var(--ia-text); font-weight: 600; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12); }
.ia-page .tab-content-bordered { padding: 0; border: 0; background: none; }

/* buttons: page actions blue, section actions soft blue */
.ia-page .btn { border-radius: 9px; font-weight: 600; }
.ia-page .btn-outline-primary { border: 0; background: var(--ia-blue-soft); color: var(--ia-blue); box-shadow: none !important; }
.ia-page .btn-outline-primary:hover, .ia-page .btn-outline-primary:focus, .ia-page .show > .btn-outline-primary { background: #e2ebf8; color: var(--ia-blue-hover); }
.ia-page .rounded-pill.btn-sm { padding: 6px 12px; border-radius: 8px !important; font-size: 12.5px; }

/* an AI analysis or standard text under its results */
.ia-ai-tag { display: inline-block; margin-bottom: 6px; padding: 3px 9px; border-radius: 999px; background: #f0e9f8; color: #6b3fa0; font-size: 11.5px; font-weight: 600; }
.ia-ai-tag-std { background: var(--ia-side); color: var(--ia-text-2); }
.ia-page h6.alert { margin: 0; padding: 0; border: 0; background: none; color: var(--ia-text); font-size: 13.5px; font-weight: 400 !important; line-height: 1.6; }
.ia-page .descOutdatedNote { border-radius: 10px !important; }

/* tables and bars */
.ia-page .table { color: var(--ia-text); font-size: 13px; }
.ia-page .table thead th { border-top: 0; border-bottom: 1px solid var(--ia-line); color: var(--ia-muted); font-size: 12px; font-weight: 600; }
.ia-page .table td { border-top: 1px solid var(--ia-line-soft); }
.ia-page .table tr.active > td { background: #f7f7f9; }
.ia-page .progress { height: 10px; border-radius: 5px; background: #ececf0; overflow: hidden; }
.ia-page .progress-bar { font-size: 10px; line-height: 10px; }

/* a page section after the top panel (Savings Tracking) is one card: its heading is a title, not a bar */
.ia-page > .panel + .panel { border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); }
.ia-page.ia-page > .panel + .panel > .panel-heading { margin: 0; padding: 18px 22px 0 !important; border: 0; border-radius: 0; background: none; }
.ia-page > .panel + .panel > .panel-body { padding: 14px 22px 22px; }

/* page actions in orange become the blue action; light borders on bordered tables */
.ia-page .btn-warning:not(.disabled):not(:disabled) { border-color: var(--ia-blue); background: var(--ia-blue); color: #ffffff; }
.ia-page .btn-warning:not(.disabled):not(:disabled):hover { border-color: var(--ia-blue-hover); background: var(--ia-blue-hover); }
.ia-page .table-bordered, .ia-page .table-bordered td, .ia-page .table-bordered th { border-color: var(--ia-line); }
.ia-page .table-bordered { border-radius: 10px; }
.ia-page .tracking-strip { border-radius: 12px; }

/* ---------- Benchmarking ---------- */
/* the building bar and the model-fit strip */
.ia-bench .panel .panel-body.d-flex { padding: 14px 18px !important; }
.ia-bench .panel .panel-body.d-flex > .desc { font-size: 13px; color: var(--ia-muted); }
.ia-bench .ia-ai-run { border: 1px solid transparent; background: var(--ia-blue); color: #ffffff; } /* the border's 1px keeps it as tall as Download PDF (an outline button) beside it */
.ia-bench .ia-ai-run:hover { background: var(--ia-blue-hover); color: #ffffff; }
.ia-bench .ia-ai-run.ia-soft { background: var(--ia-blue-soft); color: #0b4f99; } /* every section's AI analysis is up to date */
.ia-bench .ia-ai-run.ia-soft:hover { background: var(--ia-blue-tint); color: #0b4f99; }
.ia-bench .panel-body.d-flex + .desc, .ia-bench > .panel > div > .desc.f-s-15 { margin: 2px 0 14px !important; font-size: 13.5px !important; color: var(--ia-text-2); }
.ia-bench .fit-meter { padding: 16px 20px; }
.ia-bench .fit-meter .f-s-20 { font-size: 24px !important; }
.ia-bench .fit-bar { height: 6px; margin: 8px 0 2px; border-radius: 3px; background: #ececf0; }
.ia-bench .fit-bar > div { border-radius: 3px; }
.ia-bench .fit-bar > .bg-success { background: var(--ia-st-tracking) !important; }
.ia-bench .fit-bar > .bg-warning { background: #d08700 !important; }
.ia-bench .fit-meter .label { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px !important; font-weight: 600; }
.ia-bench .fit-meter .label-success { background: var(--ia-st-tracking-tint); color: var(--ia-st-tracking-text); }
.ia-bench .fit-meter .label-warning { background: #fff1dc; color: var(--ia-st-prep-text); }
@media (min-width: 768px) { .ia-bench .fit-meter + .fit-meter { border-left-color: var(--ia-line-soft); } }

/* Scores: each section is a card with its results on the left and the AI analysis on the right */
.ia-bench #bm-scores .row > .col-12 { margin-bottom: 0; }
.ia-bench #bm-scores .panel {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 24px;
    min-height: 0 !important;
    padding-bottom: 20px;
}
.ia-bench #bm-scores .panel > .panel-heading { grid-column: 1 / -1; padding: 20px 22px 4px; }
.ia-bench #bm-scores .panel > .panel-body { padding: 8px 0 0 22px !important; }
.ia-bench #bm-scores .panel > .panel-body > br, .ia-bench #bm-scores .panel > .panel-body > div > br:first-child { display: none; } /* spacing lines; the ones inside a label still break it */
.ia-bench #bm-scores .panel > .panel-footer { min-height: 0 !important; margin: 8px 22px 0 0 !important; padding: 14px 16px; border: 0; border-radius: 12px; background: #faf8fd; }
.ia-bench #bm-scores .ai-insight-footer > .text-center:first-child { position: absolute; top: 16px; right: 20px; margin: 0 !important; }
.ia-bench #bm-scores .f-s-4rem { font-size: 40px !important; font-weight: 600; letter-spacing: -0.02em; }
.ia-bench #bm-scores .panel-body .row { margin-left: 0; margin-right: 0; }
.ia-bench #bm-scores h6.text-center { font-size: 12.5px; font-weight: 400; color: var(--ia-text-2); }
.ia-bench #bm-scores hr { margin: 10px 24px; border-color: var(--ia-line-soft); }

/* ---------- Energy Auditing ---------- */
/* the building bar, the notices and the four headline cards sit in the page's top panel */
.ia-page.ia-page > .panel > .panel-heading { margin-bottom: 12px; padding: 14px 18px !important; border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); }
.ia-page > .panel > .panel-heading .desc { font-size: 13px; color: var(--ia-muted); }
.ia-audit #pdfMenu > .btn { padding: 8px 14px; border: 1px solid var(--ia-side-line); background: var(--ia-surface); color: var(--ia-text); font-size: 13.5px; }
.ia-audit #pdfMenu > .btn:hover { background: var(--ia-side); }
.ia-audit > .panel > .alert { margin: 0 0 12px !important; border: 0; border-radius: 12px; background: #f5f8fd; color: var(--ia-text-2); }
.ia-audit #reportDraftBanner { margin: 0 0 12px !important; padding: 11px 14px !important; border: 0 !important; border-radius: 12px !important; background: #fff7e8 !important; }
.ia-audit #partial_headboard .panel { margin-bottom: 16px; }
.ia-audit > .row { margin-top: 4px; }
.ia-audit #reportPanel { padding: 0 !important; }
.ia-page table.w-100[style*="whitesmoke"] { background: transparent !important; } /* the report text sits on the white card */
.ia-audit #partial_ecmExplorer .panel { margin-bottom: 16px; border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); box-shadow: none; }
.ia-audit #partial_ecmExplorer .panel > .panel-heading { padding: 16px 18px 0; border: 0; background: none; }
.ia-audit #partial_ecmExplorer .panel > .panel-body { padding: 12px 18px 18px; background: none; }

/* the headline cards (Energy Auditing, Savings Tracking), as in the concept: the title with Chart and Manage as small
   icon buttons on its right, then the value and its note; the row lines up with the building bar's edges */
.ia-page #partial_headboard > .panel-body, .ia-page > .panel:first-child > .panel-body { padding: 0 !important; }
.ia-page .row.row-no-gutter { width: calc(100% + 12px) !important; margin: 0 -6px !important; }
.ia-page .row.row-no-gutter > [class*="col-"] { padding: 0 6px; }
.ia-page .page-notification { position: relative; display: block; min-height: 0; margin: 0 0 12px; padding: 44px 16px 14px; border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); }
.ia-page .page-notification::after { top: 16px; left: 16px; padding: 0; font-size: 11.5px; letter-spacing: 0.04em; color: var(--ia-muted); }
.ia-page .page-notification > div:first-child { display: block; }
.ia-page .page-notification .notification-media { display: none !important; }
.ia-page .page-notification .notification-info { display: block; width: auto; padding: 0 !important; }
.ia-page .page-notification .row-notification { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; margin: 0; }
.ia-page .page-notification .notification-title { max-width: none; margin: 0; font-size: 30px; font-weight: 600; letter-spacing: -0.02em; color: var(--ia-text); }
.ia-page .page-notification .row-notification small, .ia-page .page-notification .row-notification h5 { margin: 0; font-size: 12.5px; font-weight: 400; color: var(--ia-muted); }
.ia-page .page-notification .row-notification > h5:first-child { margin-right: -6px; font-size: 30px; font-weight: 600; letter-spacing: -0.02em; color: var(--ia-text); } /* the $ before the budget */
.ia-page .page-notification .notification-desc { max-width: none !important; margin-top: 4px; font-size: 12.5px; font-weight: 400; color: var(--ia-text-2); white-space: normal; }
.ia-page .page-notification .notification-btn { position: absolute; top: 10px; right: 10px; display: flex; gap: 4px; width: auto; border: 0; }
.ia-page .page-notification .notification-btn .dropdown { border: 0; }
.ia-page .page-notification .notification-btn a.ia-mini-btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; padding: 0; border: 0; border-radius: 7px; background: var(--ia-side); color: var(--ia-text-2); }
.ia-page .page-notification .notification-btn a.ia-mini-btn:hover, .ia-page .page-notification .notification-btn .show > a.ia-mini-btn { background: var(--ia-blue-tint); color: var(--ia-blue); }

.ia-page .row > [class*="col-"] > .inner { height: calc(100% - 12px); }
.ia-page .inner > .page-notification { height: 100%; } /* the four cards in a row are the same height */

/* Measures: Calculate and the report buttons; the one to use next is blue, the rest quiet */
.ia-audit #partial_ecmExplorer .calBtn { padding: 10px; border: 0; border-radius: 9px; font-size: 14px; }
.ia-audit #partial_ecmExplorer .btn-group-justified { gap: 6px; margin-top: 8px; }
.ia-audit #partial_ecmExplorer .btn-group-justified > .btn { padding: 8px 4px; border: 0 !important; border-radius: 8px !important; font-size: 12.5px; }
.ia-audit #partial_ecmExplorer .btn-warning { background: var(--ia-blue); color: #ffffff !important; }
.ia-audit #partial_ecmExplorer .btn-warning:hover { background: var(--ia-blue-hover); }
.ia-audit #partial_ecmExplorer .btn-secondary, .ia-audit #partial_ecmExplorer .btn.disabled { background: #f1f1f4; color: #8d8e94 !important; opacity: 1; }
.ia-audit #partial_ecmExplorer .btn-secondary:not(.disabled) { background: var(--ia-blue-soft); color: var(--ia-blue) !important; }
.ia-audit #partial_ecmExplorer .btn i { margin-right: 2px; }

/* the measure groups as chips */
.ia-audit #partial_ecmExplorer #nav-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; padding: 0; border: 0; background: none; }
.ia-audit #partial_ecmExplorer #nav-tabs .nav-link { padding: 5px 11px; border: 0; border-radius: 999px; background: #f1f1f4; color: var(--ia-text); font-size: 12.5px; }
.ia-audit #partial_ecmExplorer #nav-tabs .nav-link.active { background: var(--ia-text); color: #ffffff; font-weight: 600; box-shadow: none; }

/* ---------- dialogs: inside (forms, tabs, notes, buttons) ---------- */
.modal-body { padding: 20px 24px; font-size: 13.5px; color: var(--ia-text); }
.modal-body > br:first-child, .modal-body > .container > br:first-child { display: none; }
.modal-body > .container { max-width: none; padding: 0; }
.modal .form-control, .modal .custom-select { border: 1px solid #d6d6db; border-radius: 9px; box-shadow: none; font-size: 13.5px; }
.modal .form-control:focus, .modal .custom-select:focus { border-color: var(--ia-blue); box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15); }
.modal .form-control[readonly], .modal .form-control:disabled, .modal .custom-select:disabled { background: #f7f7f9; }
.modal label, .modal .control-label { font-size: 12.5px; font-weight: 600; color: var(--ia-text-2); }
.modal .input-group-text { border-color: #d6d6db; background: #f2f2f5; color: var(--ia-muted); font-size: 12.5px; }
.modal .alert { border: 0; border-radius: 12px; font-size: 13px; }
.modal .alert-info, .modal .alert-primary { background: #f5f8fd; color: var(--ia-text-2); }
.modal .alert-warning { background: #fff7e8; color: #5c3a00; }
.modal .alert-success { background: #e6f4ea; color: #14532d; }
.modal .alert-danger { background: #fdecec; color: #8a1c1c; }
.modal .alert h6 { font-size: 13px; font-weight: 600; }
.modal .nav-tabs { gap: 20px; border-bottom: 1px solid var(--ia-line); }
.modal .nav-tabs .nav-link { margin: 0; padding: 8px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--ia-muted); font-size: 13.5px; }
.modal .nav-tabs .nav-link:hover { color: var(--ia-text); }
.modal .nav-tabs .nav-link.active { border-bottom-color: var(--ia-blue); background: none; color: var(--ia-text); font-weight: 600; }
.modal .tab-content-bordered { padding: 16px 0 0; border: 0; }
.modal .btn { border-radius: 9px; }
.modal .btn-info, .modal .btn-outline-info, .modal .btn-outline-primary { border-color: transparent; background: var(--ia-blue-soft); color: var(--ia-blue); }
.modal .btn-info:hover, .modal .btn-outline-info:hover, .modal .btn-outline-primary:hover { background: #e2ebf8; color: var(--ia-blue-hover); }
.modal .btn-default, .modal .btn-white, .modal .btn-secondary, .modal .btn-light { border-color: transparent; background: #ececf0; color: var(--ia-text); }
.modal fieldset { border-color: var(--ia-line) !important; border-radius: 12px !important; }
.modal fieldset > legend { color: var(--ia-muted); font-size: 12.5px; font-weight: 600; }
.modal .table thead th { border-top: 0; border-bottom: 1px solid var(--ia-line); color: var(--ia-muted); font-size: 12px; font-weight: 600; }
.modal .table td { border-top-color: var(--ia-line-soft); }

/* Meter data: its tabs as a list on the left, as in the concept */
#form_baseline_meter { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 0 24px; align-items: start; }
#form_baseline_meter > #nav-tabs { flex-direction: column; flex-wrap: nowrap; gap: 2px; padding: 10px; border: 0; border-radius: 12px; background: #f7f7f9; }
#form_baseline_meter > #nav-tabs .nav-item { margin: 0; }
#form_baseline_meter > #nav-tabs .nav-link { padding: 9px 12px; border: 0; border-radius: 8px; color: var(--ia-text); font-weight: 400; }
#form_baseline_meter > #nav-tabs .nav-link.active { background: var(--ia-blue-tint); font-weight: 600; }
#form_baseline_meter > .tab-content { padding-top: 0; }
#form_baseline_meter .tab-pane > .row > [class*="col-"] > br { display: none; } /* spacer lines above the notes */
@media (max-width: 767px) { #form_baseline_meter { grid-template-columns: 1fr; } }
/* Meter data: wide enough for every month's numbers (style.min.css holds .modal-lg to 900px, which squeezed the inputs to a few digits):
   the electricity table's five columns need about 540px beside the holidays; the inputs keep a readable width and the table
   scrolls on a small screen */
#baseline_meter_modal .modal-dialog { width: auto; max-width: min(1080px, calc(100vw - 32px)); }
#form_baseline_meter .table th, #form_baseline_meter .table td { padding-left: 4px; padding-right: 4px; }
#form_baseline_meter input.datepicker { min-width: 104px; }
#form_baseline_meter input[name$=".MonthMeterUsage"], #form_baseline_meter input[name$=".MonthCost"] { min-width: 96px; }
#form_baseline_meter input[name$=".MonthMeterDemand"] { min-width: 80px; }
/* Meter data, Import tabs: what it does, the result, your files, the drop area, the import button, two lines of tips */
#form_baseline_meter > #nav-tabs .ia-tab-sub { display: block; color: var(--ia-muted); font-size: 11.5px; font-weight: 400; }
.ia-import, .ia-interval { max-width: 780px; }
.ia-import-title { margin: 0; color: var(--ia-text); font-size: 17px; font-weight: 600; }
.ia-import-desc { margin: 4px 0 0; color: var(--ia-muted); font-size: 13px; line-height: 1.45; }
.ia-import-card { margin-top: 14px; padding: 12px 14px; border: 1px solid; border-radius: 12px; font-size: 13px; line-height: 1.5; }
.ia-import-card strong { font-weight: 600; }
.ia-import-card ul { margin: 4px 0 0; padding-left: 18px; }
.ia-import-card.ia-ok { border-color: #d7ecdc; background: #f3faf5; color: var(--ia-st-tracking-text); }
.ia-import-card.ia-warn { border-color: #f3d9ad; background: #fff8ec; color: #5c3a00; }
.ia-import-card.ia-info { border-color: var(--ia-blue-tint); background: var(--ia-blue-soft); color: #0b4f99; }
.ia-import-detail { margin-top: 4px; }
.ia-import-links { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 6px; }
.ia-import-result { display: flex; align-items: baseline; gap: 10px; margin-top: 4px; }
.ia-import-result > span { flex-grow: 1; }
a.ia-tab-link { color: var(--ia-blue); font-weight: 600; text-decoration: none; cursor: pointer; }
a.ia-tab-link:hover { color: #004f9e; text-decoration: none; }
.ia-import-files:not(:empty) { margin-top: 14px; border: 1px solid var(--ia-line); border-radius: 12px; }
.ia-file { position: relative; display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13px; }
.ia-file + .ia-file { border-top: 1px solid #f0f0f3; }
.ia-file-ext { flex-shrink: 0; min-width: 34px; padding: 4px 0; border-radius: 5px; background: var(--ia-side); color: var(--ia-muted); font-size: 9.5px; font-weight: 700; text-align: center; }
.ia-file-ext.ia-ext-pdf { background: #fdecec; color: #a42020; }
.ia-file-ext.ia-ext-data { background: #eaf6ee; color: var(--ia-st-tracking); }
.ia-file-ext.ia-ext-img { background: var(--ia-blue-soft); color: var(--ia-blue); }
.ia-file-name { flex-grow: 1; min-width: 0; overflow: hidden; color: var(--ia-text); text-overflow: ellipsis; white-space: nowrap; }
.ia-file-size { flex-shrink: 0; color: var(--ia-muted); font-size: 12px; }
.ia-file-size strong { font-weight: 400; }
.ia-file-state { flex-shrink: 0; color: var(--ia-blue); font-size: 12px; font-weight: 600; }
.ia-file-error { flex-shrink: 0; color: #a42020; font-size: 12px; }
.ia-file-state:empty, .ia-file-error:empty { display: none; }
a.ia-file-remove { flex-shrink: 0; color: var(--ia-muted); font-size: 12px; }
a.ia-file-remove:hover { color: #a42020; text-decoration: none; }
.ia-file .dz-progress { position: absolute; right: 12px; bottom: 3px; left: 12px; height: 3px; overflow: hidden; border-radius: 2px; background: var(--ia-blue-tint); }
.ia-file .dz-upload { display: block; width: 0; height: 100%; background: var(--ia-blue); transition: width .2s; }
.ia-file:not(.dz-processing) .dz-progress, .ia-file.dz-complete .dz-progress { display: none; }
.ia-import .dropzone { min-height: 0; margin-top: 14px; padding: 22px 14px; border: 1.5px dashed #b9cbe3; border-radius: 12px; background: #fafcff; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.ia-import .dropzone:hover, .ia-import .dropzone.dz-drag-hover { border-color: var(--ia-blue); background: var(--ia-blue-soft); }
.ia-import-files:not(:empty) + div .dropzone { padding: 12px 14px; } /* files listed: the area only adds more */
.ia-import .dropzone .dz-message { display: flex; flex-direction: column; gap: 3px; margin: 0; }
.ia-dz-line { color: var(--ia-text-2); font-size: 13.5px; }
.ia-dz-line b { color: var(--ia-blue); font-weight: 600; }
.ia-dz-icon { color: var(--ia-blue); font-size: 16px; }
.ia-dz-types { color: var(--ia-muted); font-size: 12px; }
.ia-import-action { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 14px; }
.modal .ia-import-btn { padding: 8px 16px; border-radius: 9px; font-size: 13.5px; font-weight: 600; }
.modal .ia-import-btn.btn-primary { border-color: var(--ia-blue); background: var(--ia-blue); color: #ffffff; }
.modal .ia-import-btn.btn-primary.disabled { opacity: 1; border-color: #c7d6ea; background: #c7d6ea; }
.modal .ia-import-btn.ia-soft { border: 0; background: var(--ia-blue-soft); color: #0b4f99; }
.ia-import-note { color: var(--ia-muted); font-size: 12.5px; }
.ia-import-help { margin: 16px 0 0; padding-top: 12px; border-top: 1px solid #f0f0f3; color: var(--ia-text-2); font-size: 12.5px; line-height: 1.6; }
.ia-import-help strong { color: var(--ia-text); font-weight: 600; }
/* while importing: the two steps in place of the drop area and button */
.ia-import-progress { display: none; margin-top: 14px; padding: 14px 16px; border: 1px solid var(--ia-line); border-radius: 12px; font-size: 13px; }
.ia-import.ia-importing .ia-import-progress { display: block; }
.ia-import.ia-importing .aiMessage, .ia-import.ia-importing [id^="dropzone_whole_ai"], .ia-import.ia-importing .ia-import-action, .ia-import.ia-importing .ia-file-remove { display: none; }
.ia-import-progress-title { margin-bottom: 4px; color: var(--ia-text); font-size: 15px; font-weight: 600; }
.ia-import-step { display: flex; align-items: center; gap: 8px; margin-top: 6px; color: var(--ia-muted); }
.ia-import-mark { flex-shrink: 0; width: 14px; height: 14px; border: 2px solid var(--ia-line); border-radius: 50%; }
.ia-importing[data-step="1"] .ia-import-step-1, .ia-importing[data-step="2"] .ia-import-step-2 { color: var(--ia-text); }
.ia-importing[data-step="1"] .ia-import-step-1 .ia-import-mark, .ia-importing[data-step="2"] .ia-import-step-2 .ia-import-mark { border-color: var(--ia-blue-tint); border-top-color: var(--ia-blue); animation: ia-import-spin .8s linear infinite; }
.ia-importing[data-step="2"] .ia-import-step-1 { color: var(--ia-st-tracking-text); }
.ia-importing[data-step="2"] .ia-import-step-1 .ia-import-mark { border: 0; color: var(--ia-st-tracking); font-size: 13px; font-weight: 700; line-height: 14px; text-align: center; }
.ia-importing[data-step="2"] .ia-import-step-1 .ia-import-mark::before { content: "✓"; }
.ia-import-progress .ia-import-note { display: block; margin-top: 10px; }
@keyframes ia-import-spin { to { transform: rotate(360deg); } }
/* Electricity (hourly data): the checks' result first, four numbers, the checks, the file's format, the months, solar */
.ia-interval-head { display: flex; align-items: center; gap: 10px; }
.ia-interval-head .ia-import-title { flex-grow: 1; }
.ia-check { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border: 1px solid; border-radius: 999px; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.ia-check.ia-pass { border-color: #d7ecdc; background: #f3faf5; color: var(--ia-st-tracking-text); }
.ia-check.ia-fail { border-color: #f3d9ad; background: #fff8ec; color: var(--ia-st-prep-text); }
.ia-interval-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.ia-interval-stats > div { padding: 10px 12px; border: 1px solid var(--ia-line); border-radius: 12px; }
.ia-interval-stats strong { display: block; color: var(--ia-text); font-size: 16px; font-weight: 600; }
.ia-interval-stats span { color: var(--ia-muted); font-size: 12px; }
.ia-check-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ia-interval-meta { margin: 10px 0 0; color: var(--ia-muted); font-size: 12.5px; }
.ia-interval-table { width: 100%; margin-top: 12px; border-collapse: collapse; font-size: 12.5px; }
.ia-interval-table caption { padding: 8px 0 0; caption-side: bottom; color: var(--ia-muted); font-size: 12px; }
.ia-interval-table th { padding: 5px 8px; border-bottom: 1px solid var(--ia-line); color: var(--ia-muted); font-size: 11.5px; font-weight: 600; text-align: left; }
.ia-interval-table td { padding: 4px 8px; border-bottom: 1px solid #f4f4f6; }
.ia-interval-table .ia-num { text-align: right; font-variant-numeric: tabular-nums; }
.ia-interval-table .ia-bar-cell { width: 34%; }
.ia-bar { display: block; height: 8px; border-radius: 4px; background: var(--ia-blue); opacity: .75; }
.ia-interval-table .ia-missing { color: var(--ia-st-prep-text); font-weight: 600; }
.ia-interval-table .ia-none { color: var(--ia-faint); }
.ia-solar { display: flex; align-items: center; gap: 16px; margin-top: 16px; padding: 12px 14px; border: 1px solid var(--ia-line); border-radius: 12px; }
.ia-solar label { flex-grow: 1; margin: 0; font-size: 13px; }
.ia-solar label strong { display: block; color: var(--ia-text); font-weight: 600; }
.ia-solar label span { color: var(--ia-muted); font-size: 12.5px; }
.ia-solar-input { flex-shrink: 0; width: 140px; }
@media (max-width: 767px) { .ia-interval-stats { grid-template-columns: 1fr 1fr; } .ia-solar { flex-wrap: wrap; } }
/* monthly data, Source column: who put the number there */
.ia-source { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; line-height: 1.5; white-space: nowrap; cursor: default; }
.ia-source.ia-src-ai { background: var(--ia-st-ready-tint); color: var(--ia-st-ready-text); }
.ia-source.ia-src-failed { background: var(--ia-st-prep-tint); color: var(--ia-st-prep-text); }
.ia-source.ia-src-you { background: var(--ia-side); color: var(--ia-text-2); }
.ia-source.ia-src-none { padding: 2px 0; background: none; color: var(--ia-faint); }

/* confirmations ($.confirm) */
.jconfirm .jconfirm-box { border-radius: 16px !important; font-family: var(--ia-font); }
.jconfirm .jconfirm-box .jconfirm-title-c { font-size: 18px !important; font-weight: 600; color: var(--ia-text); }
.jconfirm .jconfirm-box .jconfirm-content { font-size: 13.5px; color: var(--ia-text-2); }
.jconfirm .jconfirm-box .jconfirm-buttons button { border-radius: 9px !important; font-weight: 600 !important; text-transform: none !important; }
/* ---------- charts: one style everywhere (canvas "Charts · one shared style", approved 2026-10-30) ---------- */
/* the series' colours come from IA_CHART (wwwroot/js/ia-charts.js); here the nvd3 charts' text, grid lines, bars and tooltips ("body" / "html" outrank nv.d3.css, loaded after this; nvd3 puts its tooltip outside body) */
.ia-chart { height: 260px; }
body .nvd3 text { font-family: var(--ia-font); font-size: 11.5px; fill: var(--ia-muted); }
body .nvd3 .nv-axis .nv-axislabel { font-size: 12px; font-weight: 400; fill: var(--ia-muted); }
body .nvd3 .nv-axis line { stroke: var(--ia-line); }
body .nvd3 .nv-axis path.domain { stroke-opacity: 0; }
body .nvd3 .nv-x .tick line { stroke-opacity: 0; }
body .nvd3 .nv-axis .tick.zero line { stroke: #d2d2d7; stroke-opacity: 1; }
body .nvd3 .nv-legend .nv-legend-text { font-size: 12.5px; fill: var(--ia-text-2); }
body .nvd3 .nv-multibar .nv-groups rect, body .nvd3 .nv-multibarHorizontal .nv-groups rect, body .nvd3 .nv-discretebar .nv-groups rect { rx: 3px; ry: 3px; }
body .nvd3 .nv-multibarHorizontal .nv-groups text, body .nvd3 .nv-discretebar .nv-groups text { fill: var(--ia-text); font-weight: 600; }
body .nvd3.nv-pie .nv-slice path { stroke: #ffffff; stroke-width: 2px; stroke-opacity: 1; }
html .nvtooltip { padding: 6px 4px; border: 0; border-radius: 8px; background: rgba(29, 29, 31, 0.94); color: #ffffff; font-family: var(--ia-font); font-size: 12px; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18); }
html .nvtooltip h3 { padding: 2px 8px 4px; border: 0; background: none; color: #ffffff; font-size: 12px; font-weight: 600; text-align: left; }
html .nvtooltip table td { padding: 1px 6px; }
html .nvtooltip table td.key { color: rgba(255, 255, 255, 0.8); font-weight: 400; }
html .nvtooltip table td.value { color: #ffffff; font-weight: 600; }
html .nvtooltip table td.legend-color-guide div { width: 8px; height: 8px; border: 0; border-radius: 50%; }
html .nvtooltip table thead strong, html .nvtooltip table thead td { color: #ffffff; }
/* a donut with its key beside it (IA_CHART.donutKey): names and shares, the slices carry no text */
.ia-donut { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
.ia-donut > .ia-donut-ring { width: 200px; height: 200px; flex-shrink: 0; }
.ia-donut-key { list-style: none; margin: 0; padding: 0; min-width: 170px; font-size: 12.5px; color: var(--ia-text-2); }
.ia-donut-key li { display: flex; align-items: center; gap: 8px; padding: 3px 0; }
.ia-donut-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.ia-donut-name { flex-grow: 1; }
.ia-donut-share { font-weight: 600; color: var(--ia-text); }
/* Benchmarking's gap bars: the reference part grey, the gap in the colour of the scenario it is measured against */
.ia-gap.progress { height: 14px; border-radius: 4px; background: #f5f5f7; }
.ia-gap .progress-bar { font-size: 10.5px; }
.ia-gap .ia-gap-ref { background: #e3e3e8; color: var(--ia-text-2); }
.ia-gap .ia-gap-code { background: #199e70; }
.ia-gap .ia-gap-typical { background: #eb6834; }
.ia-gap-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; }
.ia-gap-dot.ia-gap-code { background: #199e70; }
.ia-gap-dot.ia-gap-typical { background: #eb6834; }
/* ---------- guides and alerts: one quiet look everywhere ---------- */
/* a field's help: a small "?" beside it opens a tinted note under the field */
.modal .input-group:has(> .input-group-append > [data-toggle="collapse"]) > .form-control,
.modal .input-group:has(> .input-group-append > [data-toggle="collapse"]) > .custom-select { border-radius: 9px !important; }
.modal .input-group-append > [data-toggle="collapse"] { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin: auto 0 auto 8px; padding: 0; border: 1px solid #d6d6db !important; border-radius: 50% !important; background: var(--ia-surface); color: var(--ia-muted); font-size: 12px; font-weight: 700; line-height: 1; box-shadow: none; }
.modal .input-group-append > [data-toggle="collapse"] > .glyphicon { display: none; }
.modal .input-group-append > [data-toggle="collapse"]::before { content: "?"; }
.modal .input-group-append > [data-toggle="collapse"]:hover, .modal .input-group-append > [data-toggle="collapse"][aria-expanded="true"] { border-color: var(--ia-blue) !important; background: var(--ia-blue-soft); color: var(--ia-blue); }
/* a field with its unit ("ft", "$/kWh"): one box, the unit in muted text inside its right end; the "?" stays a separate round button */
.modal .input-group:has(> .input-group-append > .input-group-text) > .form-control { border-right: 0; border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.modal .input-group-append > .input-group-text { height: auto !important; padding: 0 10px 0 6px; border: 1px solid #d6d6db; border-left: 0; border-radius: 0 9px 9px 0 !important; background: var(--ia-surface); color: var(--ia-muted); font-size: 12.5px; }
.modal .input-group:has(> .input-group-append > .input-group-text) > .form-control:focus { clip-path: inset(-3px 0 -3px -3px); } /* the focus ring runs on round the unit */
.modal .input-group:has(> .form-control:focus) > .input-group-append > .input-group-text { border-color: var(--ia-blue); box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15); clip-path: inset(-3px -3px -3px 0); }
.modal .input-group:has(> .form-control:disabled, > .form-control[readonly]) > .input-group-append > .input-group-text { background: #f7f7f9; }
.modal .collapse > .card.card-body, .modal .collapsing > .card.card-body { margin-top: 6px; padding: 10px 12px; border: 0; border-radius: 10px; background: #f5f8fd; color: var(--ia-text-2); font-size: 12.5px; line-height: 1.5; }
#geoStepHint { padding: 8px 24px !important; background: #f5f8fd !important; color: var(--ia-text-2) !important; font-size: 12.5px !important; }
#geoStepHint .glyphicon { color: var(--ia-blue); }

/* notes on the pages: soft tints, no heavy borders (the same as in the dialogs) */
.content .alert, .ia-clientpage .alert { border: 0; border-radius: 12px; font-size: 13px; line-height: 1.5; }
.content .alert-info, .content .alert-primary, .ia-clientpage .alert-info { background: #f5f8fd; color: var(--ia-text-2); }
.content .alert-warning, .ia-clientpage .alert-warning { background: #fff7e8; color: #5c3a00; }
.content .alert-success, .ia-clientpage .alert-success { background: #e6f4ea; color: #14532d; }
.content .alert-danger, .ia-clientpage .alert-danger { background: #fdecec; color: #8a1c1c; }
.content .alert .close { opacity: 0.5; text-shadow: none; }
.descOutdatedNote, #reportDraftBanner { border: 0 !important; border-radius: 12px !important; background: #fff7e8 !important; color: #5c3a00 !important; }
.descOutdatedNote > i, #reportDraftBanner > i { color: #b26a00 !important; }

/* tooltips */
.tooltip { font-family: var(--ia-font); }
.tooltip .tooltip-inner { max-width: 280px; padding: 6px 10px; border-radius: 8px; background: #1d1d1f; font-size: 12px; line-height: 1.45; text-align: left; }
.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before { border-top-color: #1d1d1f; }
.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before { border-bottom-color: #1d1d1f; }
.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before { border-left-color: #1d1d1f; }
.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before { border-right-color: #1d1d1f; }

/* message boxes ($.alert, $.confirm, and the browser alerts, which now open here): the dialogs' look */
.jconfirm.jconfirm-modern .jconfirm-box { padding: 22px 24px 18px !important; border: 0 !important; border-radius: 16px !important; background: var(--ia-surface) !important; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25) !important; font-family: var(--ia-font); }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-closeIcon { top: 16px !important; right: 16px !important; width: 28px !important; height: 28px !important; border-radius: 8px; background: var(--ia-side); color: var(--ia-text-2) !important; font-size: 18px !important; line-height: 28px !important; opacity: 1 !important; }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-title-c { margin: 0 0 8px !important; padding: 0 36px 0 0 !important; text-align: left !important; color: var(--ia-text); font-size: 18px !important; font-weight: 600; line-height: 1.35 !important; }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-title-c .jconfirm-icon-c { display: none !important; }
.jconfirm.jconfirm-modern .jconfirm-box.jconfirm-type-red .jconfirm-title { color: #a42020; }
.jconfirm.jconfirm-modern .jconfirm-box.jconfirm-type-orange .jconfirm-title { color: #8a4b00; }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-content-pane { margin: 0 0 18px !important; text-align: left !important; }
.jconfirm.jconfirm-modern .jconfirm-box:has(.jconfirm-title:empty) .jconfirm-content-pane { padding-right: 36px; } /* no title: the text keeps clear of the close button */
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-content { color: var(--ia-text-2) !important; font-size: 13.5px !important; line-height: 1.55; text-align: left !important; }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; float: none !important; text-align: right !important; }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons button { margin: 0 !important; padding: 8px 16px !important; border: 0 !important; border-radius: 9px !important; box-shadow: none !important; font-size: 13.5px !important; font-weight: 600 !important; text-transform: none !important; }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-default { order: -1; background: #ececf0 !important; color: var(--ia-text) !important; } /* Cancel on the left, the action on the right */
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-blue, .jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-primary,
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-orange, .jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-warning,
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-green, .jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-success { background: var(--ia-blue) !important; color: #ffffff !important; }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-red, .jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons .btn-danger { background: #c62828 !important; color: #ffffff !important; }
.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons button:hover { filter: brightness(0.94); }
.jconfirm .jconfirm-box .jconfirm-buttons button::first-letter { text-transform: uppercase; } /* buttons named by their key ("cancel", "close") start with a capital */

/* guided tours (driver.js) */
#driver-popover-item { padding: 16px 18px !important; border-radius: 14px !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important; color: var(--ia-text) !important; font-family: var(--ia-font) !important; }
#driver-popover-item .driver-popover-title { margin-bottom: 6px !important; font: 600 15px/1.4 var(--ia-font) !important; color: var(--ia-text) !important; }
#driver-popover-item .driver-popover-description { font: 400 13px/1.55 var(--ia-font) !important; color: var(--ia-text-2) !important; }
#driver-popover-item .driver-popover-footer { margin-top: 14px !important; }
#driver-popover-item .driver-popover-footer button { padding: 6px 12px !important; border: 0 !important; border-radius: 8px !important; background: #ececf0 !important; color: var(--ia-text) !important; font: 600 12.5px/1.3 var(--ia-font) !important; text-shadow: none !important; }
#driver-popover-item .driver-popover-footer .driver-next-btn, #driver-popover-item .driver-popover-footer .driver-close-only-btn { background: var(--ia-blue) !important; color: #ffffff !important; }
#driver-popover-item .driver-popover-footer button.driver-disabled { opacity: 0.45; }
@media (max-width: 991px) {
    .ia-page { padding: 20px 16px 32px; }
    .ia-bench #bm-scores .panel { grid-template-columns: 1fr; }
    .ia-bench #bm-scores .panel > .panel-body { padding: 8px 22px 0 !important; }
    .ia-bench #bm-scores .panel > .panel-footer { margin: 12px 22px 0 !important; }
}

/* DataTables on the analysis pages: search, page size, Export / Columns, paging */
.ia-page .dataTables_wrapper .form-control, .ia-page .dataTables_wrapper select, .ia-page .dataTables_wrapper input[type="search"] { height: 32px; border: 1px solid var(--ia-side-line); border-radius: 8px; box-shadow: none; font-size: 13px; }
.ia-page .dt-buttons .btn { border: 0; background: var(--ia-blue-soft); color: var(--ia-blue); font-size: 13px; }
.ia-page .dt-buttons .btn:hover { background: #e2ebf8; }
.ia-page .pagination .page-link { margin: 0 2px; border: 0; border-radius: 7px; color: var(--ia-text-2); }
.ia-page .pagination .page-item.active .page-link { background: var(--ia-blue); color: #ffffff; }
.ia-page .dataTables_info { font-size: 12.5px; color: var(--ia-muted); }
.ia-page .page-notification .notification-media i.bg-info { background: var(--ia-blue) !important; }

/* ---------- Portfolio ---------- */
.ia-portfolio #partial_dashboardHead > .panel { margin-bottom: 16px; border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); box-shadow: none; }
.ia-portfolio #partial_dashboardHead > .panel > .panel-heading { padding: 18px 22px 6px; border: 0; background: none; }
.ia-portfolio #partial_dashboardHead > .panel > .panel-body { padding: 8px 22px 18px !important; }
/* the four totals: plain numbers on white cards (they were coloured gradients) */
.ia-portfolio a.widget-stats { display: block; margin: 0 0 12px; padding: 14px 16px; border: 1px solid var(--ia-line); border-radius: 12px; background: var(--ia-surface) !important; color: var(--ia-text) !important; box-shadow: none; }
.ia-portfolio .widget-stats .widget-stats-info { padding: 0; }
.ia-portfolio .widget-stats .widget-stats-title { color: var(--ia-muted); font-size: 12.5px; font-weight: 400; text-transform: none; }
.ia-portfolio .widget-stats .widget-stats-value { color: var(--ia-text); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; }
.ia-portfolio .widget-stats h5, .ia-portfolio .widget-stats .widget-desc { margin-top: 2px; color: var(--ia-text-2) !important; font-size: 12px; font-weight: 400; }
/* by fuel: light rows instead of the dark block */
.ia-portfolio .widget-card { min-height: 0 !important; margin: 0 0 8px; border: 1px solid var(--ia-line); border-radius: 12px; background: #fafafc; }
.ia-portfolio .widget-card .widget-card-cover { display: none; }
.ia-portfolio .widget-card .widget-card-content { position: static; padding: 14px 16px !important; }
.ia-portfolio .widget-card .widget-list { background: none !important; }
.ia-portfolio .widget-card .widget-list > li { color: var(--ia-text) !important; }
.ia-portfolio .widget-card .widget-list > li:first-child { font-size: 13.5px; font-weight: 600; }
.ia-portfolio .widget-card .widget-list-container { display: flex; align-items: center; gap: 10px; padding: 6px 0; background: none !important; }
.ia-portfolio .widget-card .widget-list-container > div { display: block; width: auto; padding: 0; }
.ia-portfolio .widget-card .widget-list-media i { width: 30px; height: 30px; border-radius: 8px; background: var(--ia-blue-tint) !important; color: var(--ia-blue) !important; font-size: 15px; line-height: 30px; }
.ia-portfolio .widget-card .widget-title { margin: 0; color: var(--ia-text) !important; font-size: 15px; font-weight: 600; }
.ia-portfolio .widget-card .widget-desc { color: var(--ia-muted) !important; font-size: 12px; }
/* the posted buildings: one card */
.ia-portfolio > div:not(#partial_dashboardHead) { padding: 18px 22px !important; border: 1px solid var(--ia-line); border-radius: 14px; }
/* ---------- settings pages: Retrofit Costs, Billing and Plans ---------- */
.ia-page > .panel.page-heading, .ia-page > #container > .panel.page-heading { margin: 0 0 16px !important; padding: 18px 22px; border: 1px solid var(--ia-line) !important; border-radius: 14px; background: var(--ia-surface) !important; }
.ia-page .page-heading .panel-title { font-size: 17px; }
.ia-page .btn-outline-secondary { border: 1px solid var(--ia-side-line); background: var(--ia-surface); color: var(--ia-text-2); }
.ia-page .btn-outline-secondary:hover { background: var(--ia-side); color: var(--ia-text); }
.ia-billing .tab-content.bg-white { background: none !important; }
.ia-billing .tab-content .panel { margin-bottom: 16px; border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); box-shadow: none; }
.ia-billing .tab-content .panel > .panel-heading { padding: 18px 22px 0; border: 0; background: none; }
.ia-billing .tab-content .panel > .panel-body { padding: 14px 22px 20px; }
.ia-billing .tab-content .panel > .panel-footer { padding: 14px 22px; border-top: 1px solid var(--ia-line-soft); border-radius: 0 0 14px 14px; background: #fafafc; }
.ia-billing .plan-option { border-color: var(--ia-side-line); border-radius: 12px; }
.ia-billing .plan-option.selected { border-color: var(--ia-blue); background: #f5f8fd; }
/* ---------- client portal (_LayoutClient): a white top bar, the same cards ---------- */
.ia-client-bar.navbar { height: auto; min-height: 56px; margin-bottom: 0 !important; border-color: var(--ia-line) !important; box-shadow: none; }
.ia-client-bar .navbar-brand { display: flex; align-items: center; gap: 10px; color: var(--ia-text) !important; }
.ia-client-bar .ia-client-logo { width: 28px; height: 28px; }
.ia-client-bar .ia-brand-text { font-size: 16px; }
.ia-client-bar .navbar-icon i { color: var(--ia-text-2); }
.ia-page.ia-clientpage { padding: 24px 15px 72px; }
.ia-clientpage .nav-tabs:not(.profile-header-tab):not(#nav-tabs) { margin-bottom: 18px !important; font-size: 13.5px !important; }
.ia-clientpage .nav-tabs:not(.profile-header-tab):not(#nav-tabs) .nav-link { padding: 7px 16px; }
.ia-clientpage .panel { border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); box-shadow: none; }
.ia-clientpage .panel > .panel-heading { padding: 18px 22px 0; border: 0; background: none; }
.ia-clientpage .panel > .panel-body { padding: 14px 22px 20px; background: none; }
/* the posted audit's top, as on Energy Auditing: the bar is its own card, the headline cards below it */
.ia-clientpage > .has-inner > .panel:first-child { border: 0; background: none; box-shadow: none; }
.ia-clientpage > .has-inner > .panel:first-child > .panel-heading { margin-bottom: 12px; padding: 14px 18px; border: 1px solid var(--ia-line); border-radius: 14px; background: var(--ia-surface); }
.ia-clientpage .card { border: 1px solid var(--ia-line); border-radius: 14px; box-shadow: none; }
body > .page-full-width > .footer { left: 0; border-color: var(--ia-line) !important; background: var(--ia-surface); }
/* ---------- forms on the pages, as in the dialogs ---------- */
.ia-page .form-control, .ia-page .custom-select { border: 1px solid #d6d6db; box-shadow: none; }
.ia-page .form-control:not(.input-group > *), .ia-page .custom-select:not(.input-group > *) { border-radius: 9px; }
.ia-page .form-control:focus, .ia-page .custom-select:focus { border-color: var(--ia-blue); box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15); }
.ia-page .form-control[readonly], .ia-page .form-control:disabled, .ia-page .custom-select:disabled { background: #f7f7f9; }

/* ---------- your account (Profile, Email, Password, Personal data) ---------- */
.ia-account .nav-pills { gap: 2px; }
.ia-account .nav-pills .nav-link { padding: 8px 12px; border-radius: 8px; color: var(--ia-text); font-size: 13.5px; }
.ia-account .nav-pills .nav-link:hover { background: var(--ia-side); }
.ia-account .nav-pills .nav-link.active { background: var(--ia-blue-tint); color: var(--ia-text); font-weight: 600; }
.ia-account .nav-pills .nav-link.text-secondary { color: var(--ia-muted) !important; }
.ia-account .nav-pills hr { border-color: var(--ia-line); }
.ia-account label, .ia-account .control-label { color: var(--ia-text-2); font-size: 12.5px; font-weight: 600; }
.ia-account h4, .ia-account h5 { color: var(--ia-text); font-weight: 600; }
.ia-account .btn { border-radius: 9px; font-weight: 600; }
.ia-account .btn-danger { border-color: #c62828; background: #c62828; }
.ia-account .btn-outline-danger { border-color: #f2caca; background: #fff6f6; color: #a42020; }

/* ---------- Benchmarking and Energy Auditing with no building to show (Views/Shared/_EmptyBuildings.cshtml): why, and the next step ---------- */
.ia-empty { max-width: 560px; margin: 72px auto 40px; padding: 36px 32px 32px; text-align: center; background: var(--ia-surface); border: 1px solid var(--ia-line); border-radius: 14px; }
.ia-empty-icon { width: 48px; height: 48px; margin: 0 auto 14px; border-radius: 50%; background: var(--ia-blue-soft); color: var(--ia-blue); display: flex; align-items: center; justify-content: center; font-size: 20px; }
.ia-empty h2 { margin: 0 0 6px; color: var(--ia-text); font-size: 20px; font-weight: 700; letter-spacing: -0.01em; }
.ia-empty p { max-width: 440px; margin: 0 auto; color: var(--ia-muted); font-size: 14px; line-height: 1.6; }
.ia-empty .btn-primary { margin-top: 20px; padding: 9px 18px; border-radius: 9px; font-weight: 600; }
.ia-empty-steps { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: ia-empty-step; }
.ia-empty-steps li { counter-increment: ia-empty-step; padding: 4px 10px; border: 1px solid var(--ia-side-line); border-radius: 8px; color: var(--ia-muted); font-size: 12px; }
.ia-empty-steps li::before { content: counter(ia-empty-step) " · "; }
.ia-empty-list { margin: 18px 0 0; padding: 0; list-style: none; text-align: left; border-top: 1px solid var(--ia-line); }
.ia-empty-list li { display: flex; align-items: center; gap: 10px; padding: 10px 2px; border-bottom: 1px solid var(--ia-line); font-size: 14px; }
.ia-empty-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ia-text); }
.ia-empty-stage { padding: 2px 8px; border-radius: 6px; font-size: 12px; white-space: nowrap; } /* the colours of Home's Building status */
.ia-empty-new { background: var(--ia-st-new-tint); color: var(--ia-st-new-text); }
.ia-empty-prep { background: var(--ia-st-prep-tint); color: var(--ia-st-prep-text); }
.ia-empty-ready { background: var(--ia-st-ready-tint); color: var(--ia-st-ready-text); }
.ia-empty-list a { color: var(--ia-blue); font-size: 13px; font-weight: 600; white-space: nowrap; }
.ia-empty p.ia-empty-more { margin-top: 10px; font-size: 13px; }
/* ---------- signed-out pages (Areas/Identity/Pages/_Layout: sign in, sign up, passwords, confirmations) ---------- */
body.ia-auth { background: var(--ia-bg) !important; background-image: none !important; color: var(--ia-text); font-family: var(--ia-font); font-size: 14px; }
body.ia-auth *:not(i):not([class*="fa"]):not([class*="flaticon"]) { font-family: var(--ia-font) !important; }
.ia-auth .preloader { background-color: var(--ia-bg) !important; }
.ia-auth .pattern-background, .ia-auth .login-bg { display: none !important; } /* the yellow and photo backgrounds */
.ia-auth .login-content { border-right: 1px solid var(--ia-line); background: var(--ia-surface); }
.ia-auth .login-content__inner { background: var(--ia-surface); }
.ia-auth .login-content__inner label, .ia-auth .control-label { margin-bottom: 4px; color: var(--ia-text-2); font-size: 12.5px; font-weight: 600; }
.ia-auth .login-content__inner input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.ia-auth .form-control { height: 40px !important; padding: 0 12px !important; border: 1px solid #d6d6db !important; border-radius: 9px !important; background: var(--ia-surface) !important; color: var(--ia-text) !important; font-size: 14px !important; box-shadow: none !important; }
.ia-auth .login-content__inner input::placeholder, .ia-auth .form-control::placeholder { color: var(--ia-faint) !important; opacity: 1; }
.ia-auth .login-content__inner input:focus, .ia-auth .form-control:focus { border-color: var(--ia-blue) !important; box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15) !important; outline: 0; }
.ia-auth .btn-outline-dark { height: 40px; border: 1px solid #d6d6db; border-radius: 9px; background: var(--ia-surface); color: var(--ia-text); font-size: 14px; font-weight: 600; }
.ia-auth .btn-outline-dark:hover, .ia-auth .btn-outline-dark:focus { border-color: #c7c7cc; background: var(--ia-side); color: var(--ia-text); }
.ia-auth .hr-sect { color: var(--ia-faint); font-size: 12.5px; }
.ia-auth .hr-sect::before, .ia-auth .hr-sect::after { background: var(--ia-line); }
.ia-auth .theme-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 42px; padding: 0 16px; border: 0; border-radius: 9px !important; background: var(--ia-blue) !important; color: #ffffff !important; font-size: 14.5px; font-weight: 600; letter-spacing: 0; line-height: 1; text-transform: none; overflow: hidden; }
.ia-auth .theme-btn:hover, .ia-auth .theme-btn:focus { background: var(--ia-blue-hover) !important; }
.ia-auth .theme-btn .btn-curve { display: none !important; }
.ia-auth .theme-btn .btn-title { color: #ffffff !important; font-size: inherit !important; letter-spacing: 0 !important; text-transform: none !important; }
.ia-auth a { color: var(--ia-blue); }
.ia-auth a:hover { color: var(--ia-blue-hover); }
.ia-auth .signup-link, .ia-auth .small, .ia-auth .copyright-text { color: var(--ia-muted) !important; font-size: 13px !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; }
.ia-auth .login-content__inner a, .ia-auth .signup-link a, .ia-auth .error-section a { color: var(--ia-blue) !important; font-weight: 600; text-transform: none !important; letter-spacing: 0 !important; }
.ia-auth .scroll-to-top { border: 0; background: var(--ia-blue) !important; color: #ffffff !important; }
.ia-auth .text-danger { color: #a42020 !important; font-size: 12.5px; }
/* the welcome panel beside the form: soft blue in place of the dark pattern */
.ia-auth .text-overlay { justify-content: flex-start !important; align-items: flex-end !important; padding: 0 64px 72px; background: linear-gradient(160deg, #f5f8fd 0%, #dce7f5 100%); color: var(--ia-text) !important; text-align: left !important; }
.ia-auth .text-overlay__inner { padding: 0 !important; background: none !important; }
.ia-auth .text-overlay__inner p { margin: 0 0 12px; color: var(--ia-text); }
.ia-auth .text-overlay__inner p:first-child { font-size: 34px; font-weight: 700; letter-spacing: -0.02em; }
.ia-auth .text-overlay__inner p + p { color: var(--ia-text-2); font-size: 20px; font-weight: 400; }
/* the confirmations (Check your email, Password reset, …) */
.ia-auth .error-section { padding: 80px 16px; background: var(--ia-bg); text-align: center; }
.ia-auth .error-section h2 { color: var(--ia-text); font-size: 26px; font-weight: 700; letter-spacing: -0.01em; text-transform: none; }
.ia-auth .error-section .text { color: var(--ia-muted); font-size: 15px; line-height: 1.6; }
.ia-auth .error-section .big-text img { max-height: 220px; }
/* ---------- the location map (Home > View on map) ---------- */
.ia-map-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: -4px 36px 0 0; } /* clear of the dialog's close button */
.ia-map-title { flex-grow: 1; margin: 0; color: var(--ia-text); font-size: 18px; font-weight: 600; }
.ia-map-head .nav.ia-segmented { align-self: center; }
.ia-map-head .nav.ia-segmented .nav-link { padding: 6px 14px; font-size: 13px; }
.ia-map-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 14px 0 8px; }
.ia-map-legend > li { font-size: 12.5px; font-weight: 600; }
.ia-map-legend > li.ia-st-new { color: var(--ia-st-new-text); }
.ia-map-legend > li.ia-st-prep { color: var(--ia-st-prep-text); }
.ia-map-legend > li.ia-st-ready { color: var(--ia-st-ready-text); }
.ia-map-legend > li.ia-st-progress { color: var(--ia-st-progress-text); }
.ia-map-legend > li.ia-st-posted { color: var(--ia-st-posted-text); }
.ia-map-legend > li.ia-st-tracking { color: var(--ia-st-tracking-text); }
.ia-map-legend > li.ia-none { color: var(--ia-st-new); font-weight: 400; } /* no buildings at this status */
.ia-map #mapContainer { border-radius: 12px; background: #fafafc; }
.ia-map .datamaps-bubble { cursor: pointer; }
.ia-map-count { pointer-events: none; }
.ia-map-count circle { fill: var(--ia-text); stroke: #ffffff; stroke-width: 1.5px; }
.ia-map-count text { fill: #ffffff; font-family: var(--ia-font); font-weight: 700; text-anchor: middle; }
.datamaps-hoverover .hoverinfo { padding: 8px 10px !important; border: 1px solid var(--ia-line) !important; border-radius: 10px !important; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important; color: var(--ia-text-2); font: 12.5px/1.5 var(--ia-font) !important; }
.datamaps-hoverover .hoverinfo strong { color: var(--ia-text); }
/* a dot's card: the address, then each building with its data year and status */
.hoverinfo.ia-map-card { display: flex; flex-direction: column; gap: 8px; width: 330px; padding: 12px 14px !important; border-radius: 12px !important; background: var(--ia-surface); }
.ia-map-card-address { color: var(--ia-muted); font-size: 12.5px; }
.ia-map-card-row { display: flex; align-items: center; gap: 8px; color: var(--ia-text); }
.ia-map-card-name { flex-grow: 1; font-size: 13.5px; font-weight: 600; }
.ia-map-card-year { color: var(--ia-muted); font-weight: 400; white-space: nowrap; }
.ia-map-card .ia-pill { flex-shrink: 0; padding: 2px 9px; font-size: 11.5px; white-space: nowrap; }
.ia-map-card-hint { color: var(--ia-muted); font-size: 12px; }
.ia-map-pick { position: absolute; z-index: 10002; border: 1px solid var(--ia-line); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16); font: 12.5px/1.5 var(--ia-font); }
.ia-map-pick a.ia-map-card-row { margin: -4px -6px; padding: 4px 6px; border-radius: 8px; text-decoration: none; }
.ia-map-pick a.ia-map-card-row:hover, .ia-map-pick a.ia-map-card-row:focus { background: var(--ia-blue-soft); color: var(--ia-text); text-decoration: none; }
/* buildings that couldn't be placed */
.ia-map-note { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 14px; padding: 10px 14px; border-radius: 12px; background: var(--ia-st-prep-tint); color: #5c3a00; font-size: 13px; }
.ia-map-note > span { flex-grow: 1; }
.ia-map-note strong { font-weight: 600; }
.ia-map-note a { font-weight: 600; text-decoration: none; }
.ia-map-note ul { flex-basis: 100%; margin: 0; }
/* ---------- dialogs: the frame (each dialog's own layout comes page by page) ---------- */
.modal-content { border: 0; border-radius: 16px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25); overflow: hidden; }
.modal-header { align-items: center; padding: 16px 24px; border-bottom: 1px solid var(--ia-line); background: var(--ia-surface); }
.modal-header .modal-title { font-size: 18px; font-weight: 600; color: var(--ia-text); }
.modal-header .close { width: 32px; height: 32px; margin: -4px -8px -4px auto; padding: 0; border-radius: 8px; background: var(--ia-side); opacity: 1; color: var(--ia-text-2); text-shadow: none; }
.modal-header .close:hover { background: #e4e4ea; }
.modal-footer { padding: 14px 24px; border-top: 1px solid var(--ia-line); background: var(--ia-bg); }
.modal-footer .btn { flex-shrink: 0; border-radius: 9px; font-size: 13.5px; font-weight: 600; white-space: nowrap; } /* a note beside the buttons wraps, not their labels */
.modal-footer .btn-secondary, .modal-footer .btn-default, .modal-footer .btn-white { border: 0; background: #ececf0; color: var(--ia-text); }

@media (max-width: 991px) {
    .ia-home { padding: 20px 16px 32px; }
    .ia-phases { grid-template-columns: 1fr; }
}
