/* /Components/BookingCalendar.razor.rz.scp.css */
/* Calendar fills the height it's given (Home sets it) so the grid stretches down. */
.cal-wrap[b-3rz0t7gvei] {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
}

/* "All »" tucked into the top-right corner of the header band. */
.all-link-corner[b-3rz0t7gvei] {
    position: absolute;
    top: 2px;
    right: 3px;
    z-index: 3;
    font-size: 72%;
    font-weight: bold;
    color: #2c3e6b;
    text-decoration: none;
    background: #f0f0f0;
    padding: 1px 5px;
    border-radius: 4px;
}

.all-link-corner:hover[b-3rz0t7gvei] {
    text-decoration: underline;
}

/* Week nav lives in the top-left corner cell (above Slot 1). */
.col-slot[b-3rz0t7gvei] {
    width: 74px;
}

th.cal-corner[b-3rz0t7gvei] {
    padding: 2px !important;
}

.cal-nav-mini[b-3rz0t7gvei] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.cal-arrow[b-3rz0t7gvei],
.cal-week[b-3rz0t7gvei] {
    cursor: pointer;
    border: 1px solid #bbb;
    border-radius: 3px;
    background: #fff;
    line-height: 1.15;
    padding: 1px 4px;
}

.cal-arrow[b-3rz0t7gvei] {
    font-size: 95%;
}

.cal-week[b-3rz0t7gvei] {
    font-size: 78%;
    font-weight: bold;
    color: #2c3e6b;
}

.cal-week:hover[b-3rz0t7gvei],
.cal-arrow:hover[b-3rz0t7gvei] {
    background: #eef1f8;
}

/* Slim one-line legend under the calendar. */
.legend-strip[b-3rz0t7gvei] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 6px;
    font-size: 78%;
    color: #555;
    padding: 4px 2px 0;
}

.legend-strip .dot[b-3rz0t7gvei] {
    display: inline-block;
    width: 11px;
    height: 11px;
    border-radius: 3px;
    margin: 0 3px 0 10px;
    vertical-align: middle;
}

table.cal-grid[b-3rz0t7gvei] {
    border-collapse: collapse;
    width: 100%;
    height: 100%;
    table-layout: fixed;
}

table.cal-grid tbody tr[b-3rz0t7gvei] {
    height: 33.33%;   /* the 3 slot rows share the stretched height evenly */
}

table.cal-grid th[b-3rz0t7gvei],
table.cal-grid td[b-3rz0t7gvei] {
    border: 1px solid #ccc;
    vertical-align: top;
    padding: 4px;
}

table.cal-grid th[b-3rz0t7gvei] {
    background: #f0f0f0;
    text-align: center;
    font-size: 90%;
}

th.today[b-3rz0t7gvei],
td.today[b-3rz0t7gvei] {
    background: #fffde7;
}

.slot-label[b-3rz0t7gvei] {
    text-align: center;
    font-weight: bold;
}

.slot-time[b-3rz0t7gvei] {
    font-size: 80%;
    color: #666;
}

.slot-empty[b-3rz0t7gvei] {
    height: 100%;
    min-height: 48px;
    cursor: pointer;
    text-align: center;
    color: #999;
    border: 1px dashed #bbb;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slot-empty:hover[b-3rz0t7gvei] {
    background: #f5f5f5;
    color: #555;
}

.slot-filled[b-3rz0t7gvei] {
    height: 100%;
    min-height: 48px;
    box-sizing: border-box;
    cursor: pointer;
    border-radius: 4px;
    color: #fff;
    padding: 4px;
    font-size: 85%;
}

.slot-filled b[b-3rz0t7gvei] {
    display: block;
    font-size: 110%;
}

.status-booked[b-3rz0t7gvei] {
    background: #43a047;
}

.status-inspected[b-3rz0t7gvei] {
    background: #2196f3;
}

.status-reportgenerated[b-3rz0t7gvei] {
    background: #e53935;
}

.status-empty[b-3rz0t7gvei] {
    background: #999;
}

.modal-overlay[b-3rz0t7gvei] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.modal-box[b-3rz0t7gvei] {
    background: #fff;
    width: 820px;
    max-width: 94%;
    max-height: 92vh;          /* never taller than the screen … */
    margin: 3vh 0;
    border-radius: 6px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    display: flex;             /* … fields scroll, footer stays put */
    flex-direction: column;
    overflow: hidden;          /* keep rounded corners over the scroll area */
}

/* Header + fields scroll here so tall content can never bury the buttons. */
.modal-scroll[b-3rz0t7gvei] {
    overflow-y: auto;
    padding: 20px;
}

.row2[b-3rz0t7gvei] {
    display: flex;
    gap: 8px;
}

.row2 > div[b-3rz0t7gvei] {
    flex: 1;
}

.row3[b-3rz0t7gvei] {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

.row3 input[b-3rz0t7gvei] {
    margin-top: 0;
}

.actions[b-3rz0t7gvei] {
    flex-shrink: 0;            /* fixed footer, always visible below the scroll area */
    text-align: right;
    padding: 12px 20px;
    background: #fff;
    border-top: 1px solid #e2e6ef;
}

.actions button[b-3rz0t7gvei] {
    padding: 7px 16px;
    margin-left: 8px;
    cursor: pointer;
}

.booking-error[b-3rz0t7gvei] {
    color: #a33;
    background: #fdecea;
    border: 1px solid #a33;
    border-radius: 4px;
    padding: 8px 12px;
    margin-top: 12px;
    font-size: 90%;
}
/* /Components/InspectionFields.razor.rz.scp.css */
/* Every section header and field is a tile on a 12-column grid. Tile widths come from
   an inline `grid-column: span N`; the grid auto-flows so tiles never overlap. */
.field-grid[b-inqkaxai9c] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 5px 8px;
    align-items: end;
}

.tile[b-inqkaxai9c] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.tile-header[b-inqkaxai9c] {
    justify-content: flex-end;
}

.tile-header h3[b-inqkaxai9c] {
    margin: 8px 0 2px;
    font-size: 80%;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #2c3e6b;
    border-bottom: 1px solid #dbe0ec;
    padding-bottom: 2px;
}

.tile-body[b-inqkaxai9c] {
    min-width: 0;
}

.tile-body label[b-inqkaxai9c] {
    display: flex;
    flex-direction: column;
    font-size: 76%;
    color: #667;
    gap: 2px;
}

.tile-body input[b-inqkaxai9c],
.tile-body select[b-inqkaxai9c],
.tile-body textarea[b-inqkaxai9c] {
    width: 100%;
    box-sizing: border-box;
    padding: 3px 5px;
    border: 1px solid #bbb;
    border-radius: 4px;
    font-size: 90%;
}

.tile-body textarea.if-note[b-inqkaxai9c] {
    font: inherit;
    font-size: 90%;
    resize: vertical;
}

.if-note-hint[b-inqkaxai9c] {
    font-weight: 400;
    font-size: 82%;
    color: #888;
    text-transform: none;
    letter-spacing: 0;
}

.if-attendants[b-inqkaxai9c] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
}

.if-attendant[b-inqkaxai9c] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 82%;
    color: #333;
    white-space: nowrap;
}

.if-attendant input[b-inqkaxai9c] {
    width: auto;
}

/* "✎ Edit list…" link shown after the Attendants checkboxes. */
.opt-edit-link[b-inqkaxai9c] {
    background: none;
    border: none;
    color: #2c3e6b;
    cursor: pointer;
    font-size: 78%;
    text-decoration: underline;
    padding: 0;
    white-space: nowrap;
}

/* Popup editor for a dropdown's option list. */
.opt-overlay[b-inqkaxai9c] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.opt-editor[b-inqkaxai9c] {
    background: #fff;
    width: 460px;
    max-width: 92%;
    margin-top: 8vh;
    border-radius: 8px;
    padding: 18px 20px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.3);
}

.opt-editor h3[b-inqkaxai9c] {
    margin: 0 0 4px;
    font-size: 1rem;
    color: #2c3e6b;
}

.opt-hint[b-inqkaxai9c] {
    margin: 0 0 10px;
    font-size: 82%;
    color: #888;
}

.opt-editor textarea[b-inqkaxai9c] {
    width: 100%;
    box-sizing: border-box;
    padding: 8px;
    border: 1px solid #bbb;
    border-radius: 5px;
    font: inherit;
    font-size: 92%;
    resize: vertical;
}

.opt-actions[b-inqkaxai9c] {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.opt-actions button[b-inqkaxai9c] {
    padding: 7px 16px;
    border: 1px solid #b9c2d8;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
}

.opt-actions button.primary[b-inqkaxai9c] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

/* ── Layout edit mode: draggable + resizable tiles ── */
.field-grid.editing .tile[b-inqkaxai9c] {
    outline: 1px dashed #c3ccdf;
    border-radius: 5px;
    padding: 2px 10px 3px 4px;
}

/* Fields are locked ONLY while arranging (Edit layout on) so a drag never lands in an
   input; in normal use they're fully editable. */
.field-grid.editing .tile-body input[b-inqkaxai9c],
.field-grid.editing .tile-body select[b-inqkaxai9c],
.field-grid.editing .tile-body textarea[b-inqkaxai9c] {
    pointer-events: none;
    background: #f4f6fa;
}

.tile-grip[b-inqkaxai9c] {
    cursor: grab;
    font-size: 70%;
    color: #8892aa;
    user-select: none;
    line-height: 1;
    margin-bottom: 1px;
}

.tile-grip:active[b-inqkaxai9c] {
    cursor: grabbing;
}

.tile-resize[b-inqkaxai9c] {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -1px;
    width: 9px;
    cursor: col-resize;
    touch-action: none;
}

.tile-resize[b-inqkaxai9c]::after {
    content: "";
    position: absolute;
    right: 3px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 55%;
    background: #b7c0d6;
    border-radius: 2px;
}

.tile-resize:hover[b-inqkaxai9c]::after {
    background: #2c3e6b;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-d20z6001cw] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-d20z6001cw] {
    flex: 1;
}

.sidebar[b-d20z6001cw] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-d20z6001cw] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-d20z6001cw]  a, .top-row[b-d20z6001cw]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-d20z6001cw]  a:hover, .top-row[b-d20z6001cw]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-d20z6001cw]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-d20z6001cw] {
        justify-content: space-between;
    }

    .top-row[b-d20z6001cw]  a, .top-row[b-d20z6001cw]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-d20z6001cw] {
        flex-direction: row;
    }

    .sidebar[b-d20z6001cw] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-d20z6001cw] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-d20z6001cw]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-d20z6001cw], article[b-d20z6001cw] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-d20z6001cw] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-d20z6001cw] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-gu3q1iqv8g] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-gu3q1iqv8g] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-gu3q1iqv8g] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-gu3q1iqv8g] {
    font-size: 1.1rem;
}

.bi[b-gu3q1iqv8g] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-gu3q1iqv8g] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-gu3q1iqv8g] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-gu3q1iqv8g] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-gu3q1iqv8g] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.885-.696A5.74 5.74 0 0 0 8 12a5.74 5.74 0 0 0-4.115 1.599 4.2 4.2 0 0 0-.885.696V2.5z'/%3E%3C/svg%3E");
}

/* App-wide language switch, pinned under the nav links. */
.nav-lang[b-gu3q1iqv8g] {
    display: flex;
    gap: 6px;
    padding: 0.6rem 1rem 0.2rem;
}

.nav-lang-btn[b-gu3q1iqv8g] {
    flex: 1;
    text-align: center;
    padding: 4px 0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: .05em;
    color: #cfd4e0;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.05);
}

.nav-lang-btn:hover[b-gu3q1iqv8g] {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.nav-lang-btn.active[b-gu3q1iqv8g] {
    background: #fff;
    color: #2c3e6b;
    border-color: #fff;
}

/* Signed-in user block, pinned under the nav. */
.nav-user[b-gu3q1iqv8g] {
    margin-top: 0.5rem;
    padding: 0.75rem 1rem 1rem;
    border-top: 1px solid rgba(255,255,255,0.12);
    color: #d7d7d7;
    font-size: 0.85rem;
}

.nav-user-name[b-gu3q1iqv8g] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.nav-user-name .bi-person-circle[b-gu3q1iqv8g] {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23d7d7d7' viewBox='0 0 16 16'%3E%3Cpath d='M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath fill-rule='evenodd' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z'/%3E%3C/svg%3E");
}

.nav-user-role[b-gu3q1iqv8g] {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    background: #c2410c;
    color: #fff;
    border-radius: 4px;
    padding: 1px 6px;
}

.nav-logout-btn[b-gu3q1iqv8g] {
    width: 100%;
    padding: 0.4rem;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 5px;
    background: rgba(255,255,255,0.06);
    color: #eee;
    font-size: 0.8rem;
    cursor: pointer;
}

.nav-logout-btn:hover[b-gu3q1iqv8g] {
    background: rgba(255,255,255,0.15);
}

.nav-item[b-gu3q1iqv8g] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-gu3q1iqv8g] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-gu3q1iqv8g] {
        padding-bottom: 1rem;
    }

    .nav-item[b-gu3q1iqv8g]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-gu3q1iqv8g]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-gu3q1iqv8g]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-gu3q1iqv8g] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-gu3q1iqv8g] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-gu3q1iqv8g] {
        display: none;
    }

    .nav-scrollable[b-gu3q1iqv8g] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-7a4d22tzl8],
.components-reconnect-repeated-attempt-visible[b-7a4d22tzl8],
.components-reconnect-failed-visible[b-7a4d22tzl8],
.components-pause-visible[b-7a4d22tzl8],
.components-resume-failed-visible[b-7a4d22tzl8],
.components-rejoining-animation[b-7a4d22tzl8] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-7a4d22tzl8],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-7a4d22tzl8],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-7a4d22tzl8],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-7a4d22tzl8],
#components-reconnect-modal.components-reconnect-retrying[b-7a4d22tzl8],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-7a4d22tzl8],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-7a4d22tzl8],
#components-reconnect-modal.components-reconnect-failed[b-7a4d22tzl8],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-7a4d22tzl8] {
    display: block;
}


#components-reconnect-modal[b-7a4d22tzl8] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-7a4d22tzl8 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-7a4d22tzl8 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-7a4d22tzl8 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-7a4d22tzl8]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-7a4d22tzl8 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-7a4d22tzl8 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-7a4d22tzl8 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-7a4d22tzl8 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-7a4d22tzl8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-7a4d22tzl8] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-7a4d22tzl8] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-7a4d22tzl8] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-7a4d22tzl8] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-7a4d22tzl8] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-7a4d22tzl8] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-7a4d22tzl8 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-7a4d22tzl8] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-7a4d22tzl8 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/AdminUsers.razor.rz.scp.css */
.muted[b-ozhrr4r1ex] {
    color: #6a7180;
    font-size: 14px;
    max-width: 720px;
}

.admin-grid[b-ozhrr4r1ex] {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    align-items: start;
    margin-top: 12px;
}

@media (max-width: 900px) {
    .admin-grid[b-ozhrr4r1ex] { grid-template-columns: 1fr; }
}

.admin-panel[b-ozhrr4r1ex] {
    border: 1px solid #e2e6ef;
    border-radius: 10px;
    padding: 18px 20px;
    background: #fff;
}

.admin-panel h2[b-ozhrr4r1ex] {
    margin: 0 0 14px;
    font-size: 17px;
    color: #2c3e6b;
}

.field[b-ozhrr4r1ex] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px;
}

.field label[b-ozhrr4r1ex] {
    font-size: 12px;
    font-weight: 600;
    color: #3a4256;
}

.field input[b-ozhrr4r1ex] {
    padding: 8px 10px;
    border: 1px solid #ccd3e0;
    border-radius: 6px;
    font-size: 14px;
}

.btn-primary[b-ozhrr4r1ex] {
    padding: 9px 16px;
    border: none;
    border-radius: 6px;
    background: #2c3e6b;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.btn-primary.sm[b-ozhrr4r1ex] { padding: 5px 12px; font-size: 13px; }
.btn-primary:hover[b-ozhrr4r1ex] { background: #24345c; }
.btn-primary:disabled[b-ozhrr4r1ex] { opacity: .6; cursor: default; }

.btn-link[b-ozhrr4r1ex] {
    border: none;
    background: none;
    color: #2c3e6b;
    cursor: pointer;
    padding: 2px 6px;
    font-size: 13px;
    text-decoration: underline;
}

.ok-msg[b-ozhrr4r1ex] { margin-top: 10px; color: #1a7f45; font-size: 13px; }
.err-msg[b-ozhrr4r1ex] { margin-top: 10px; color: #b3261e; font-size: 13px; }

.users-table[b-ozhrr4r1ex] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.users-table th[b-ozhrr4r1ex], .users-table td[b-ozhrr4r1ex] {
    text-align: left;
    padding: 8px 10px;
    border-bottom: 1px solid #eef1f6;
    vertical-align: top;
}

.users-table th[b-ozhrr4r1ex] {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6a7180;
}

.users-table .sub[b-ozhrr4r1ex] { color: #6a7180; font-size: 12px; }
.row-inactive[b-ozhrr4r1ex] { opacity: .55; }
.row-actions[b-ozhrr4r1ex] { white-space: nowrap; }
.reset-row td[b-ozhrr4r1ex] { background: #f6f8fd; }
.reset-row input[b-ozhrr4r1ex] { padding: 5px 8px; border: 1px solid #ccd3e0; border-radius: 5px; margin: 0 6px; }
/* /Components/Pages/Calendar.razor.rz.scp.css */
h1[b-juyohlqfiu] {
    text-align: center;
}

.cal-nav[b-juyohlqfiu] {
    text-align: center;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cal-nav button[b-juyohlqfiu] {
    padding: 6px 14px;
    cursor: pointer;
}

.jump-to[b-juyohlqfiu] {
    display: inline-flex;
    gap: 4px;
    align-items: center;
    border-left: 1px solid #ccc;
    padding-left: 10px;
    margin-left: 4px;
}

.jump-to input[type="date"][b-juyohlqfiu] {
    padding: 5px;
}

.all-link[b-juyohlqfiu] {
    border-left: 1px solid #ccc;
    padding-left: 10px;
    margin-left: 4px;
    color: #2c3e6b;
    font-weight: bold;
    text-decoration: none;
}

.all-link:hover[b-juyohlqfiu] {
    text-decoration: underline;
}

.legend[b-juyohlqfiu] {
    text-align: center;
    font-size: 90%;
    margin-bottom: 14px;
}

.legend .dot[b-juyohlqfiu] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 3px;
    margin: 0 4px 0 14px;
    vertical-align: middle;
}

table.cal-grid[b-juyohlqfiu] {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
    max-width: 1100px;
    margin: 0 auto;
}

table.cal-grid th[b-juyohlqfiu],
table.cal-grid td[b-juyohlqfiu] {
    border: 1px solid #ccc;
    vertical-align: top;
    padding: 4px;
}

table.cal-grid th[b-juyohlqfiu] {
    background: #f0f0f0;
    text-align: center;
    font-size: 90%;
}

th.today[b-juyohlqfiu],
td.today[b-juyohlqfiu] {
    background: #fffde7;
}

.slot-label[b-juyohlqfiu] {
    text-align: center;
    font-weight: bold;
}

.slot-time[b-juyohlqfiu] {
    font-size: 80%;
    color: #666;
}

.slot-empty[b-juyohlqfiu] {
    height: 60px;
    cursor: pointer;
    text-align: center;
    color: #999;
    border: 1px dashed #bbb;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slot-empty:hover[b-juyohlqfiu] {
    background: #f5f5f5;
    color: #555;
}

.slot-filled[b-juyohlqfiu] {
    min-height: 60px;
    cursor: pointer;
    border-radius: 4px;
    color: #fff;
    padding: 4px;
    font-size: 85%;
}

.slot-filled b[b-juyohlqfiu] {
    display: block;
    font-size: 110%;
}

.status-booked[b-juyohlqfiu] {
    background: #43a047;
}

.status-inspected[b-juyohlqfiu] {
    background: #2196f3;
}

.status-reportgenerated[b-juyohlqfiu] {
    background: #e53935;
}

.status-empty[b-juyohlqfiu] {
    background: #999;
}

.modal-overlay[b-juyohlqfiu] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.modal-box[b-juyohlqfiu] {
    background: #fff;
    width: 480px;
    max-width: 92%;
    margin-top: 4%;
    border-radius: 6px;
    padding: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.modal-box label[b-juyohlqfiu] {
    display: block;
    margin-top: 10px;
    font-weight: bold;
    font-size: 90%;
}

.modal-box input[b-juyohlqfiu] {
    width: 100%;
    box-sizing: border-box;
    padding: 6px;
    margin-top: 2px;
}

.row2[b-juyohlqfiu] {
    display: flex;
    gap: 8px;
}

.row2 > div[b-juyohlqfiu] {
    flex: 1;
}

.row3[b-juyohlqfiu] {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

.row3 input[b-juyohlqfiu] {
    margin-top: 0;
}

.actions[b-juyohlqfiu] {
    margin-top: 18px;
    text-align: right;
}

.actions button[b-juyohlqfiu] {
    padding: 7px 16px;
    margin-left: 8px;
    cursor: pointer;
}

.booking-error[b-juyohlqfiu] {
    color: #a33;
    background: #fdecea;
    border: 1px solid #a33;
    border-radius: 4px;
    padding: 8px 12px;
    margin-top: 12px;
    font-size: 90%;
}
/* /Components/Pages/FindCondition.razor.rz.scp.css */
.sub[b-j62faybax5] {
    color: #667;
    margin-top: -6px;
    margin-bottom: 14px;
}

.search-row[b-j62faybax5] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.search-row input[b-j62faybax5] {
    flex: 1 1 360px;
    max-width: 560px;
    padding: 9px 12px;
    border: 1px solid #b9c2d8;
    border-radius: 6px;
    font-size: 1rem;
}

.btn[b-j62faybax5] {
    padding: 9px 18px;
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.95rem;
}

.btn:hover[b-j62faybax5] { background: #24325a; }

.count[b-j62faybax5] {
    color: #888;
    font-size: 0.85rem;
}

.empty[b-j62faybax5] {
    color: #888;
    font-style: italic;
}

.hits[b-j62faybax5] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hit[b-j62faybax5] {
    display: block;
    border: 1px solid #e2e6ef;
    border-left: 3px solid #2c3e6b;
    border-radius: 6px;
    padding: 10px 14px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: box-shadow .12s, border-color .12s;
}

.hit:hover[b-j62faybax5] {
    border-color: #2c3e6b;
    box-shadow: 0 2px 8px rgba(44, 62, 107, 0.14);
}

.hit.inactive[b-j62faybax5] {
    background: #fafbfc;
    border-left-color: #b7c0d6;
    opacity: 0.85;
}

.hit-head[b-j62faybax5] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.crumb[b-j62faybax5] {
    font-size: 0.76rem;
    color: #8892aa;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.rank[b-j62faybax5] {
    background: #2c3e6b;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 10px;
    padding: 1px 8px;
}

.type-chip[b-j62faybax5] {
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 10px;
    padding: 1px 8px;
    border: 1px solid transparent;
}

.filter-banner[b-j62faybax5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #eef3ff;
    border: 1px solid #c3d0f0;
    border-radius: 6px;
    padding: 8px 12px;
    margin-bottom: 12px;
    font-size: 0.9rem;
}

.clear-filter[b-j62faybax5] {
    color: #2c3e6b;
    font-weight: 600;
    white-space: nowrap;
}

.edit-hint[b-j62faybax5] {
    margin-left: auto;
    font-size: 0.78rem;
    font-weight: 600;
    color: #2c3e6b;
    text-decoration: none;
    border: 1px solid #c3d0f0;
    border-radius: 6px;
    padding: 1px 8px;
}

.hit:hover .edit-hint[b-j62faybax5] {
    background: #eef3ff;
    border-color: #2c3e6b;
}

.type-chip.char[b-j62faybax5] {
    background: #d3efe9;
    color: #0f766e;
    border-color: #8fd6ca;
}

.type-chip.obs[b-j62faybax5] {
    background: #ffe4d0;
    color: #b8420c;
    border-color: #f4a97a;
}

.tag-inactive[b-j62faybax5] {
    background: #eef1f8;
    color: #667;
    font-size: 0.7rem;
    border-radius: 10px;
    padding: 1px 8px;
}

.hit-name[b-j62faybax5] {
    font-weight: 600;
    color: #222;
}

.hit-fr[b-j62faybax5] {
    color: #2c3e6b;
    font-size: 0.92rem;
    margin-top: 1px;
}

.hit-expl[b-j62faybax5] {
    color: #555;
    font-size: 0.88rem;
    margin-top: 5px;
}

.hit-action[b-j62faybax5] {
    color: #1f7a3d;
    font-size: 0.85rem;
    margin-top: 4px;
    font-weight: 600;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.system-rows[b-1bv5jnlpnh] {
    margin-bottom: 12px;
}

/* Library links tucked right-aligned on the ribbon lines (SystemRibbons ExtraX slots). */
.lib-link[b-1bv5jnlpnh] {
    font-size: 82%;
    font-weight: 600;
    color: #2c3e6b;
    text-decoration: none;
    border: 1px solid #c3d0f0;
    border-radius: 4px;
    padding: 3px 10px;
    background: #f3f6ff;
    white-space: nowrap;
}

.lib-link:hover[b-1bv5jnlpnh] {
    background: #e6ecfb;
}

.system-row[b-1bv5jnlpnh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 0;
}

.row-label[b-1bv5jnlpnh] {
    font-weight: bold;
    width: 110px;
    flex-shrink: 0;
    font-size: 85%;
}

.sys-link[b-1bv5jnlpnh] {
    padding: 3px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #f5f5f5;
    text-decoration: none;
    color: #2c3e6b;
    font-size: 82%;
}

.sys-link:hover[b-1bv5jnlpnh] {
    background: #eef1f8;
}

.sys-link.obs[b-1bv5jnlpnh] {
    border-color: #c2410c;
    color: #c2410c;
}

.sys-link.obs:hover[b-1bv5jnlpnh] {
    background: #ffe9dc;
}

.sys-link.disabled[b-1bv5jnlpnh] {
    color: #aaa;
    background: #fafafa;
    cursor: default;
}

.dashboard-split[b-1bv5jnlpnh] {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.dashboard-left[b-1bv5jnlpnh],
.dashboard-right[b-1bv5jnlpnh] {
    flex: 1;
    min-width: 340px;
}

/* Home layout: inspection fields stacked on the LEFT, calendar on the RIGHT.
   Wraps to stacked on narrow screens. */
.home-dashboard[b-1bv5jnlpnh] {
    margin-top: 12px;
    display: flex;
    align-items: flex-start;
    gap: 22px;
    flex-wrap: wrap;
}

.home-summary[b-1bv5jnlpnh] {
    flex: 0 0 auto;
    width: 640px;   /* default panel width — narrow enough to stay beside the calendar on ~1440px screens */
    margin-top: 0;
}

/* Edit mode: native drag-to-resize grip on the panel's bottom-right corner. */
.home-summary.resizable[b-1bv5jnlpnh] {
    resize: horizontal;
    overflow: auto;
    min-width: 300px;
    max-width: 900px;
    outline: 2px dashed #c3ccdf;
    outline-offset: 2px;
}

.home-calendar[b-1bv5jnlpnh] {
    /* Low flex-basis so it fits beside Panel 1 and then grows into the leftover width;
       min-width sets the point below which it wraps under Panel 1 instead of squishing. */
    flex: 1 1 380px;
    min-width: 380px;
    /* Fill down to near the bottom of the screen; the calendar grid (flex:1) grows to
       fill the space above the legend + Panel 2, which sit at their natural height. */
    display: flex;
    flex-direction: column;
    height: calc(100vh - 205px);
    min-height: 440px;
}

/* Panel 2 (Fee/Temp/Weather/Attendants/Note) lives under the calendar, still editable. */
.home-panel2[b-1bv5jnlpnh] {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #e2e6ef;
}

/* Calendar-on-the-left swaps the two columns' visual order. */
.home-dashboard.cal-left .home-summary[b-1bv5jnlpnh] {
    order: 2;
}

.home-dashboard.cal-left .home-calendar[b-1bv5jnlpnh] {
    order: 1;
}

/* ── Layout edit toolbar ── */
.layout-bar[b-1bv5jnlpnh] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 2px 0 10px;
}

.layout-btn[b-1bv5jnlpnh] {
    padding: 4px 12px;
    border: 1px solid #b9c2d8;
    border-radius: 5px;
    background: #fff;
    color: #2c3e6b;
    cursor: pointer;
    font-size: 85%;
}

.layout-btn:hover[b-1bv5jnlpnh] {
    background: #eef1f8;
}

.layout-btn.active[b-1bv5jnlpnh] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

.layout-btn.ghost[b-1bv5jnlpnh] {
    color: #a33;
    border-color: #e0b4b4;
}

.layout-hint[b-1bv5jnlpnh] {
    font-size: 80%;
    color: #888;
}

.last-inspection[b-1bv5jnlpnh] {
    max-width: 520px;
    margin-bottom: 26px;
}

.home-calendar h2[b-1bv5jnlpnh] {
    text-align: center;
    margin-bottom: 12px;
}

.is-toolbar[b-1bv5jnlpnh] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e2e6ef;
}

.is-toolbar-label[b-1bv5jnlpnh] {
    font-weight: bold;
    font-size: 1.05rem;
    color: #2c3e6b;
}

.is-toolbar-links[b-1bv5jnlpnh] {
    display: flex;
    gap: 14px;
    margin-left: auto;
}

.is-toolbar-links a[b-1bv5jnlpnh] {
    color: #2c3e6b;
    text-decoration: none;
    font-size: 0.9rem;
}

.is-toolbar-links a:hover[b-1bv5jnlpnh] {
    text-decoration: underline;
}

.empty-note[b-1bv5jnlpnh] {
    color: #888;
    font-style: italic;
}

/* "Print…" documents dropdown in the left action toolbar (native <details>). */
.print-menu[b-1bv5jnlpnh] {
    position: relative;
    display: inline-block;
}

.print-menu > summary[b-1bv5jnlpnh] {
    cursor: pointer;
    color: #2c3e6b;
    font-size: 0.9rem;
    list-style: none;
    user-select: none;
}

.print-menu > summary[b-1bv5jnlpnh]::-webkit-details-marker {
    display: none;
}

.print-menu[open] > summary[b-1bv5jnlpnh] {
    font-weight: bold;
}

.print-menu-items[b-1bv5jnlpnh] {
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 4px;
    background: #fff;
    border: 1px solid #c3ccdf;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    z-index: 20;
    min-width: 240px;
    padding: 4px 0;
}

.print-menu-items a[b-1bv5jnlpnh] {
    display: block;
    padding: 6px 14px;
    color: #2c3e6b;
    text-decoration: none;
    font-size: 0.85rem;
    white-space: nowrap;
}

.print-menu-items a:hover[b-1bv5jnlpnh] {
    background: #eef1f8;
}

.inspection-card[b-1bv5jnlpnh] {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 16px;
    background: #fafafa;
}

.report-link[b-1bv5jnlpnh] {
    font-weight: bold;
    font-size: 110%;
}

.summary-table[b-1bv5jnlpnh] {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
}

.summary-table td[b-1bv5jnlpnh] {
    padding: 5px 8px;
    border-bottom: 1px solid #eee;
}

.status-badge[b-1bv5jnlpnh] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 10px;
    font-size: 85%;
    color: #fff;
}

.status-booked[b-1bv5jnlpnh] {
    background: #43a047;
}

.status-inspected[b-1bv5jnlpnh] {
    background: #2196f3;
}

.status-reportgenerated[b-1bv5jnlpnh] {
    background: #e53935;
}

.quick-links[b-1bv5jnlpnh] {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.quick-links a[b-1bv5jnlpnh] {
    padding: 6px 12px;
    background: #2c3e6b;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    font-size: 90%;
}

.mini-cal-header h2[b-1bv5jnlpnh] {
    margin-bottom: 4px;
}

.date-range[b-1bv5jnlpnh] {
    font-size: 70%;
    font-weight: normal;
    color: #777;
}

.mini-cal-nav[b-1bv5jnlpnh] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.mini-cal-nav button[b-1bv5jnlpnh] {
    padding: 4px 10px;
    font-size: 85%;
    cursor: pointer;
}

.mini-cal-nav .jump-date[b-1bv5jnlpnh] {
    padding: 4px;
    font-size: 85%;
}

table.mini-cal[b-1bv5jnlpnh] {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
}

table.mini-cal th[b-1bv5jnlpnh],
table.mini-cal td[b-1bv5jnlpnh] {
    border: 1px solid #ddd;
    padding: 3px;
    text-align: center;
    font-size: 80%;
}

table.mini-cal th[b-1bv5jnlpnh] {
    background: #f0f0f0;
}

th.today[b-1bv5jnlpnh],
td.today[b-1bv5jnlpnh] {
    background: #fffde7;
}

.slot-label[b-1bv5jnlpnh] {
    font-weight: bold;
    background: #f7f7f7;
}

.mini-slot-empty[b-1bv5jnlpnh] {
    height: 26px;
    cursor: pointer;
}

.mini-slot-empty:hover[b-1bv5jnlpnh] {
    background: #f5f5f5;
}

.mini-slot-filled[b-1bv5jnlpnh] {
    height: 26px;
    line-height: 26px;
    color: #fff;
    cursor: pointer;
    border-radius: 3px;
    font-size: 85%;
}

.view-full[b-1bv5jnlpnh] {
    text-align: right;
    margin-top: 8px;
}

.view-full a[b-1bv5jnlpnh] {
    color: #2c3e6b;
}

.saved-flash[b-1bv5jnlpnh] {
    color: #1f7a3d;
    font-weight: 600;
    font-size: 85%;
}

.is-toolbar-links .error-msg[b-1bv5jnlpnh] {
    color: #a33;
    font-size: 85%;
}
/* /Components/Pages/Insights.razor.rz.scp.css */
.cards[b-14ttmx3n2f] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 18px 0 26px;
}

.card[b-14ttmx3n2f] {
    flex: 1 1 170px;
    min-width: 160px;
    border: 1px solid #dbe0ec;
    border-radius: 8px;
    padding: 14px 16px;
    background: #fafbff;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: box-shadow .12s, transform .12s;
}

a.card:hover[b-14ttmx3n2f] {
    box-shadow: 0 2px 8px rgba(44, 62, 107, 0.15);
    transform: translateY(-1px);
}

.card-value[b-14ttmx3n2f] {
    font-size: 1.7rem;
    font-weight: 700;
    color: #2c3e6b;
    line-height: 1.1;
}

.card-label[b-14ttmx3n2f] {
    margin-top: 4px;
    font-size: 0.82rem;
    color: #667;
}

.card-sub[b-14ttmx3n2f] {
    margin-top: 3px;
    font-size: 0.76rem;
    color: #8892aa;
}

.chart-grid[b-14ttmx3n2f] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 22px 30px;
}

.chart h3[b-14ttmx3n2f] {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #2c3e6b;
    border-bottom: 1px solid #dbe0ec;
    padding-bottom: 4px;
    margin: 0 0 10px;
}

.bar-row[b-14ttmx3n2f] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
    font-size: 0.82rem;
}

.bar-label[b-14ttmx3n2f] {
    flex: 0 0 44px;
    color: #555;
    text-align: right;
}

.bar-label.wide[b-14ttmx3n2f] {
    flex-basis: 120px;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bar-track[b-14ttmx3n2f] {
    flex: 1 1 auto;
    height: 16px;
    background: #eef1f8;
    border-radius: 3px;
    overflow: hidden;
}

.bar-fill[b-14ttmx3n2f] {
    display: block;
    height: 100%;
    background: #2c3e6b;
    border-radius: 3px;
    min-width: 2px;
}

.bar-fill.rev[b-14ttmx3n2f] { background: #1f7a3d; }
.bar-fill.st-booked[b-14ttmx3n2f] { background: #43a047; }
.bar-fill.st-inspected[b-14ttmx3n2f] { background: #2196f3; }
.bar-fill.st-report[b-14ttmx3n2f] { background: #e53935; }

.bar-value[b-14ttmx3n2f] {
    flex: 0 0 auto;
    min-width: 56px;
    color: #333;
    font-variant-numeric: tabular-nums;
}

.note[b-14ttmx3n2f] {
    margin-top: 22px;
    color: #888;
    font-size: 0.8rem;
    font-style: italic;
}
/* /Components/Pages/InspectionChecklist.razor.rz.scp.css */
.checklist-header[b-z1t0smfmh4] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: none;
    margin: 0;
}

.checklist-header h1[b-z1t0smfmh4] {
    margin-bottom: 2px;
}

.subtitle[b-z1t0smfmh4] {
    color: #666;
}

.lang-toggle button[b-z1t0smfmh4] {
    padding: 6px 14px;
    border: 1px solid #ccc;
    background: #f5f5f5;
    cursor: pointer;
}

.lang-toggle button.active[b-z1t0smfmh4] {
    background: #333;
    color: #fff;
    border-color: #333;
}

.lang-toggle button:first-child[b-z1t0smfmh4] {
    border-radius: 4px 0 0 4px;
}

.lang-toggle button:last-child[b-z1t0smfmh4] {
    border-radius: 0 4px 4px 0;
}

.system-tabs[b-z1t0smfmh4] {
    max-width: none;
    margin: 16px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
}

/* Single-line variant: all system tabs on one row, horizontal scroll if needed. */
.system-tabs.single-line[b-z1t0smfmh4] {
    max-width: none;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}

.system-tabs.single-line .tab[b-z1t0smfmh4] {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* "SUMMARY" link sits under the tabs row. */
.summary-link[b-z1t0smfmh4] {
    margin: 8px 0 16px;
}

.summary-link a[b-z1t0smfmh4] {
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 88%;
    text-decoration: none;
    color: #2c3e6b;
}

.summary-link a:hover[b-z1t0smfmh4] {
    text-decoration: underline;
}

.tab[b-z1t0smfmh4] {
    padding: 8px 14px;
    border: 1px solid #ccc;
    background: #f8f8f8;
    border-radius: 4px;
    cursor: pointer;
    font-size: 90%;
}

.tab.active[b-z1t0smfmh4] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

.tab .badge[b-z1t0smfmh4] {
    display: inline-block;
    background: #e53935;
    color: #fff;
    border-radius: 10px;
    padding: 1px 7px;
    font-size: 80%;
    margin-left: 6px;
}

.tab.active .badge[b-z1t0smfmh4] {
    background: #fff;
    color: #2c3e6b;
}

.checklist-body[b-z1t0smfmh4] {
    max-width: none;
    margin: 20px 0;
}

/* Multi-column flow: component cards pack into as many vertical columns as the
   frame width allows (~1 per 300px). Each card stays whole; the subsystem
   heading spans the full width above them. */
.subsystem-section[b-z1t0smfmh4] {
    margin-bottom: 28px;
    column-width: 300px;
    column-gap: 24px;
    /* Vertical divider between the flowed columns */
    column-rule: 1px solid #e4e8f1;
}

.subsystem-section h3[b-z1t0smfmh4] {
    background: linear-gradient(180deg, #eef1f8, #e5ebf6);
    padding: 9px 14px;
    border-radius: 5px;
    border-left: 4px solid #2c3e6b;
    box-shadow: 0 1px 2px rgba(20, 30, 60, 0.08);
    margin: 0 0 14px;
    column-span: all;
}

/* Each component is a framed card - border + soft shadow so it reads as a
   distinct tile within its column. */
.component-block[b-z1t0smfmh4] {
    margin: 0 0 14px;
    padding: 10px 12px 12px;
    background: #fff;
    border: 1px solid #e2e6ef;
    border-radius: 7px;
    box-shadow: 0 1px 3px rgba(20, 30, 60, 0.07);
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

.component-block:hover[b-z1t0smfmh4] {
    border-color: #c7cfe0;
    box-shadow: 0 3px 10px rgba(20, 30, 60, 0.13);
}

/* Title as a filled header band across the top of each card - bold, high
   contrast, unmistakable as the component label. */
.component-block h4[b-z1t0smfmh4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    background: #2c3e6b;
    margin: -10px -12px 10px;
    padding: 4px 6px 4px 12px;
    border-radius: 6px 6px 0 0;
    letter-spacing: 0.02em;
    line-height: 1.25;
}

/* Big "+" on the title band, right-aligned, to add a condition inline */
.add-cond-btn[b-z1t0smfmh4] {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.add-cond-btn:hover[b-z1t0smfmh4] {
    background: rgba(255, 255, 255, 0.34);
}

/* Add-condition popup - floats on top of the column layout so it's always
   fully visible (an inline form gets overlapped by neighbouring columns). */
.add-modal-backdrop[b-z1t0smfmh4] {
    position: fixed;
    inset: 0;
    background: rgba(15, 20, 40, 0.42);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.add-modal[b-z1t0smfmh4] {
    background: #fff;
    border-radius: 10px;
    padding: 18px 20px 16px;
    width: 460px;
    max-width: 94vw;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.32);
}

.add-modal-title[b-z1t0smfmh4] {
    margin: 0 0 14px;
    font-size: 1rem;
    color: #2c3e6b;
}

.add-modal .actions[b-z1t0smfmh4] {
    text-align: right;
    margin-top: 14px;
}

.add-modal .actions button[b-z1t0smfmh4] {
    margin-left: 8px;
    padding: 7px 18px;
    border: 1px solid #c3ccdf;
    border-radius: 5px;
    background: #f5f7fb;
    cursor: pointer;
}

.add-modal .actions .btn-primary[b-z1t0smfmh4] {
    background: #2c3e6b;
    border-color: #2c3e6b;
    color: #fff;
    font-weight: 600;
}

.condition-list[b-z1t0smfmh4] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: 0;
}

/* Clickable option tile (replaces per-line checkboxes) - dense, all options
   visible at once, no dropdowns. Click toggles; edit pencil shows on hover. */
.cond-chip[b-z1t0smfmh4] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border: 1px solid #c3ccdf;
    border-radius: 15px;
    background: #fff;
    cursor: pointer;
    font-size: 0.86rem;
    line-height: 1.2;
    user-select: none;
}

.cond-chip:hover[b-z1t0smfmh4] {
    border-color: #2c3e6b;
    background: #f4f6fb;
}

.cond-chip.checked[b-z1t0smfmh4] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

.cond-chip.checked:hover[b-z1t0smfmh4] {
    background: #24325a;
}

.cond-chip.defect.checked[b-z1t0smfmh4] {
    background: #c2410c;
    border-color: #c2410c;
}

/* "Inspection-only" badge: purple, deliberately off the status (green/blue/red/grey)
   and record-type (teal/amber) palettes so it can't be mistaken for either. */
.custom-tag[b-z1t0smfmh4] {
    background: #6c5ce7;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 9px;
    white-space: nowrap;
}

.cond-chip.checked .custom-tag[b-z1t0smfmh4] {
    background: #8577f0;
}

.chip-edit[b-z1t0smfmh4] {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    font-size: 0.85em;
    padding: 0;
    opacity: 0;
}

.cond-chip:hover .chip-edit[b-z1t0smfmh4] {
    opacity: 0.65;
}

.chip-edit:hover[b-z1t0smfmh4] {
    opacity: 1;
}

/* Text-entry (nameplate) field: full-width labeled input instead of a toggle chip */
.cond-text[b-z1t0smfmh4] {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 0;
}

.cond-text-label[b-z1t0smfmh4] {
    flex: 0 0 auto;
    min-width: 150px;
    font-size: 0.86rem;
    color: #333;
}

.cond-text-input[b-z1t0smfmh4] {
    flex: 1;
    max-width: 320px;
    padding: 4px 8px;
    border: 1px solid #c3ccdf;
    border-radius: 5px;
    font: inherit;
    background: #fffef4;
}

.cond-text.filled .cond-text-input[b-z1t0smfmh4] {
    background: #eef7ee;
    border-color: #9ec7a0;
}

.cond-text-input:focus[b-z1t0smfmh4] {
    outline: none;
    border-color: #2c3e6b;
    background: #fff;
}

.cond-text .chip-edit[b-z1t0smfmh4] {
    color: #667;
    opacity: 0.5;
}

.cond-text .chip-edit:hover[b-z1t0smfmh4] {
    opacity: 1;
}

.mode-note[b-z1t0smfmh4] {
    max-width: none;
    margin: 12px 0 0;
    color: #777;
    font-size: 90%;
}

.empty-note[b-z1t0smfmh4] {
    max-width: none;
    margin: 20px 0;
    color: #888;
    font-style: italic;
}

.summary-system-block[b-z1t0smfmh4] {
    max-width: none;
    margin: 0 0 30px;
    border: 1px solid #dde1ea;
    border-radius: 8px;
    padding: 14px 18px;
    box-shadow: 0 2px 8px rgba(20, 30, 60, 0.06);
}

.summary-system-header[b-z1t0smfmh4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #2c3e6b;
    padding-bottom: 8px;
    margin-bottom: 10px;
}

.summary-system-header h2[b-z1t0smfmh4] {
    margin: 0;
    font-size: 120%;
}

.edit-link[b-z1t0smfmh4] {
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 6px 14px;
    cursor: pointer;
    font-size: 85%;
}

.condition-item-readonly[b-z1t0smfmh4] {
    padding: 3px 0;
    margin-left: 12px;
}

.condition-item-readonly.defect[b-z1t0smfmh4] {
    color: #c2410c;
    font-weight: bold;
}

.back-to-summary[b-z1t0smfmh4] {
    background: none;
    border: none;
    color: #2c3e6b;
    cursor: pointer;
    font-size: 95%;
    padding: 0;
    text-decoration: underline;
}

.condition-check[b-z1t0smfmh4] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.icon-btn[b-z1t0smfmh4] {
    background: none;
    border: 1px solid #bbb;
    border-radius: 4px;
    width: 24px;
    height: 24px;
    cursor: pointer;
    font-size: 85%;
    margin-left: 6px;
}

.icon-btn.danger[b-z1t0smfmh4] {
    color: #a33;
    border-color: #a33;
}

.condition-edit-form[b-z1t0smfmh4] {
    border: 1px solid #2c3e6b;
    border-radius: 4px;
    padding: 10px;
    margin: 6px 0;
    background: #fafbff;
}

.row2[b-z1t0smfmh4] {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}

.row2 > input[b-z1t0smfmh4],
.row2 > textarea[b-z1t0smfmh4] {
    flex: 1;
    padding: 6px;
    box-sizing: border-box;
}

.row2 > textarea[b-z1t0smfmh4] {
    min-height: 50px;
    resize: vertical;
}

.defect-toggle[b-z1t0smfmh4] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 90%;
    color: #444;
}

.type-chip[b-z1t0smfmh4] {
    font-size: 80%;
    font-weight: 600;
    border-radius: 10px;
    padding: 2px 10px;
    align-self: center;
    border: 1px solid transparent;
}

.type-chip.char[b-z1t0smfmh4] {
    background: #d3efe9;
    color: #0f766e;
    border-color: #8fd6ca;
}

.type-chip.obs[b-z1t0smfmh4] {
    background: #ffe4d0;
    color: #b8420c;
    border-color: #f4a97a;
}

.condition-edit-form .actions[b-z1t0smfmh4] {
    text-align: right;
}

.condition-edit-form .actions button[b-z1t0smfmh4] {
    margin-left: 6px;
}

.add-link[b-z1t0smfmh4] {
    background: none;
    border: none;
    color: #2c3e6b;
    cursor: pointer;
    font-size: 90%;
    padding: 4px 0;
}

.add-link:hover[b-z1t0smfmh4] {
    text-decoration: underline;
}

.custom-tag[b-z1t0smfmh4] {
    background: #6c5ce7;
    color: #fff;
    font-size: 75%;
    padding: 2px 8px;
    border-radius: 10px;
}

.override-note[b-z1t0smfmh4] {
    font-size: 82%;
    color: #666;
    font-style: italic;
    margin: 0 0 8px;
}

/* Note 4: report-content panel frozen at the bottom while scrolling, preceded by a solid
   separation line (the panel's top border). Collapsed = a thin frozen bar; when expanded
   it caps at half the viewport and scrolls internally so it never buries the checklist. */
.system-content-editor.bottom-sticky[b-z1t0smfmh4] {
    position: sticky;
    bottom: 0;
    z-index: 15;
    background: #fff;
    border-top: 2px solid #2c3e6b;
    margin-top: 20px;
    max-height: 50vh;
    overflow-y: auto;
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.06);
}

.system-content-editor.bottom-sticky > summary[b-z1t0smfmh4] {
    position: sticky;
    top: 0;
    background: #f4f6fb;
    padding: 8px 10px;
    cursor: pointer;
    font-weight: 600;
    color: #2c3e6b;
}
/* /Components/Pages/InspectionDetail.razor.rz.scp.css */
.detail-table[b-mx3q4n66zw] {
    border-collapse: collapse;
    max-width: 600px;
}

.detail-table td[b-mx3q4n66zw] {
    padding: 6px 10px;
    border-bottom: 1px solid #eee;
}

.action-links[b-mx3q4n66zw] {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.action-link[b-mx3q4n66zw] {
    display: inline-block;
    background: #f0f0f0;
    color: #333 !important;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    border: none;
    font: inherit;
    cursor: pointer;
}

.action-link.primary[b-mx3q4n66zw] {
    background: #2c3e6b;
    color: #fff !important;
}

.action-link:hover[b-mx3q4n66zw] {
    opacity: 0.9;
}

.attachments-heading[b-mx3q4n66zw] {
    margin-top: 24px;
}

.attachment-picker[b-mx3q4n66zw] {
    list-style: none;
    padding-left: 0;
    max-width: 600px;
}

.attachment-picker li[b-mx3q4n66zw] {
    padding: 4px 0;
}

.attachment-desc[b-mx3q4n66zw] {
    color: #777;
    font-size: 90%;
}

.empty-note[b-mx3q4n66zw] {
    color: #888;
    font-style: italic;
}

.note[b-mx3q4n66zw] {
    margin-top: 20px;
    color: #777;
    font-style: italic;
}

/* ── Edit details form ── */
.detail-toolbar[b-mx3q4n66zw] {
    margin: 6px 0 10px;
}

.edit-details-btn[b-mx3q4n66zw] {
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 6px 14px;
    cursor: pointer;
    font-size: 90%;
}

.edit-details-form[b-mx3q4n66zw] {
    max-width: 900px;
    border: 1px solid #cdd6ea;
    border-radius: 6px;
    padding: 12px 16px;
    background: #fafbff;
    margin-bottom: 12px;
}

.edit-details-form h3[b-mx3q4n66zw] {
    margin: 12px 0 6px;
    font-size: 100%;
    color: #2c3e6b;
    border-bottom: 1px solid #e2e2e2;
    padding-bottom: 4px;
}

.edit-details-form h3:first-child[b-mx3q4n66zw] {
    margin-top: 0;
}

.edit-grid[b-mx3q4n66zw] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 14px;
}

.edit-grid label[b-mx3q4n66zw] {
    display: flex;
    flex-direction: column;
    font-size: 82%;
    color: #555;
    gap: 3px;
}

.edit-grid label.wide[b-mx3q4n66zw] {
    grid-column: span 2;
}

.edit-grid input[b-mx3q4n66zw],
.edit-grid select[b-mx3q4n66zw] {
    padding: 5px 6px;
    border: 1px solid #bbb;
    border-radius: 4px;
    font-size: 92%;
}

.edit-actions[b-mx3q4n66zw] {
    margin-top: 14px;
    display: flex;
    gap: 8px;
}

.edit-actions button[b-mx3q4n66zw] {
    padding: 7px 16px;
    border: 1px solid #b9c2d8;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
}

.edit-actions button.primary[b-mx3q4n66zw] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

.error-msg[b-mx3q4n66zw] {
    color: #a33;
    font-size: 88%;
    margin: 8px 0 0;
}

/* ── Edit-in-place save flash ── */
.detail-fields[b-mx3q4n66zw] {
    margin-bottom: 18px;
}

.detail-save-row[b-mx3q4n66zw] {
    min-height: 18px;
    margin-bottom: 4px;
}

.saved-flash[b-mx3q4n66zw] {
    color: #1f7a3d;
    font-weight: 600;
    font-size: 85%;
}

/* ── Property photo (frame IS the file picker) ── */
.main-photo-section[b-mx3q4n66zw] {
    margin-bottom: 14px;
}

.photo-frame[b-mx3q4n66zw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 320px;
    height: 200px;
    border: 2px dashed #b7c0d6;
    border-radius: 8px;
    background: #fafbff;
    cursor: pointer;
    overflow: hidden;
    position: relative;
    margin-bottom: 6px;
}

.photo-frame.has-photo[b-mx3q4n66zw] {
    border-style: solid;
    border-color: #ccc;
    background: #fff;
}

.photo-frame:hover[b-mx3q4n66zw] {
    border-color: #2c3e6b;
}

.photo-placeholder[b-mx3q4n66zw] {
    color: #8892aa;
    font-size: 95%;
    font-weight: 600;
}

/* Hide the native file input (rendered inside the InputFile child component, so it
   needs ::deep to pierce the scope); clicking the label/frame still opens the picker. */
.photo-frame[b-mx3q4n66zw]  .photo-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.main-photo-preview[b-mx3q4n66zw] {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.del-photo[b-mx3q4n66zw] {
    background: #fff;
    border: 1px solid #a33;
    color: #a33;
    border-radius: 4px;
    padding: 4px 10px;
    cursor: pointer;
    font-size: 85%;
    margin-bottom: 6px;
}

.photo-error[b-mx3q4n66zw] {
    color: #a33;
    font-size: 85%;
    margin-top: 4px;
}

.aibq-docs[b-mx3q4n66zw] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 6px 0 4px;
}

.aibq-doc-link[b-mx3q4n66zw] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border: 1px solid #c3ccdf;
    border-radius: 7px;
    background: #f6f8fc;
    color: #2c3e6b;
    text-decoration: none;
    font-weight: 600;
    font-size: 92%;
}

.aibq-doc-link:hover[b-mx3q4n66zw] {
    background: #eef1f8;
    border-color: #2c3e6b;
}

.aibq-doc-sub[b-mx3q4n66zw] {
    font-weight: 400;
    color: #667;
    font-size: 90%;
}

/* ── Duplicate-inspection dialog ── */
.modal-overlay[b-mx3q4n66zw] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.modal-box.dup-modal[b-mx3q4n66zw] {
    background: #fff;
    width: 540px;
    max-width: 94%;
    margin: 8vh 0;
    border-radius: 6px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    padding: 20px 22px;
}

.dup-modal h3[b-mx3q4n66zw] {
    margin: 0 0 14px;
}

.dup-choice[b-mx3q4n66zw] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

.dup-choice label[b-mx3q4n66zw] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 0.92rem;
    color: #333;
    cursor: pointer;
}

.dup-number label[b-mx3q4n66zw] {
    display: block;
    font-weight: 600;
    font-size: 0.85rem;
    margin-bottom: 4px;
}

.dup-number input[b-mx3q4n66zw] {
    width: 100%;
    padding: 7px 9px;
    border: 1px solid #c3ccdf;
    border-radius: 4px;
    font-size: 0.95rem;
}

.dup-hint[b-mx3q4n66zw] {
    color: #667;
    font-size: 0.8rem;
    margin: 8px 0 0;
}

.dup-modal .actions[b-mx3q4n66zw] {
    text-align: right;
    margin-top: 18px;
}

.dup-modal .actions button[b-mx3q4n66zw] {
    padding: 7px 16px;
    margin-left: 8px;
    cursor: pointer;
}

.dup-modal .actions .primary[b-mx3q4n66zw] {
    background: #2c3e6b;
    color: #fff;
    border: 1px solid #2c3e6b;
    border-radius: 4px;
}
/* /Components/Pages/InspectionList.razor.rz.scp.css */
.controls[b-2as2onsj8p] {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 16px 0;
    max-width: 700px;
}

.controls input[b-2as2onsj8p] {
    flex: 1;
    padding: 8px;
}

.controls button[b-2as2onsj8p] {
    padding: 8px 16px;
    cursor: pointer;
}

.controls .clear[b-2as2onsj8p] {
    background: #f0f0f0;
}

table.inspection-table[b-2as2onsj8p] {
    border-collapse: collapse;
    width: 100%;
    max-width: 1100px;
}

table.inspection-table th[b-2as2onsj8p],
table.inspection-table td[b-2as2onsj8p] {
    border-bottom: 1px solid #eee;
    padding: 10px;
    text-align: left;
}

table.inspection-table th[b-2as2onsj8p] {
    background: #f0f0f0;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

table.inspection-table th:hover[b-2as2onsj8p] {
    background: #e4e4e4;
}

tr.row-link[b-2as2onsj8p] {
    cursor: pointer;
}

tr.row-link:hover[b-2as2onsj8p] {
    background: #f5f7fb;
}

.empty-row[b-2as2onsj8p] {
    text-align: center;
    color: #888;
    padding: 30px;
}

.status-badge[b-2as2onsj8p] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 10px;
    font-size: 85%;
    color: #fff;
}

.status-booked[b-2as2onsj8p] {
    background: #43a047;
}

.status-inspected[b-2as2onsj8p] {
    background: #2196f3;
}

.status-reportgenerated[b-2as2onsj8p] {
    background: #e53935;
}

.pagination[b-2as2onsj8p] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
}

.pagination button[b-2as2onsj8p] {
    padding: 6px 14px;
    cursor: pointer;
}

.pagination button:disabled[b-2as2onsj8p] {
    cursor: default;
    opacity: 0.5;
}

.page-size-label[b-2as2onsj8p] {
    margin-left: auto;
    font-size: 90%;
    color: #555;
}

.page-size-label select[b-2as2onsj8p] {
    padding: 4px;
    margin: 0 4px;
}
/* /Components/Pages/InspectionObservations.razor.rz.scp.css */
/* Click-to-edit Location / Recommended Action (per-inspection override). */
.ov-editable[b-kchkaiyyym] {
    cursor: pointer;
    border-bottom: 1px dashed #9aa6c4;
    padding-bottom: 1px;
}

.ov-editable:hover[b-kchkaiyyym] {
    color: #2c3e6b;
    border-bottom-color: #2c3e6b;
    background: #eef1f8;
}

.ov-editable[b-kchkaiyyym]::after {
    content: " \270E";   /* ✎ pencil hint */
    font-size: 85%;
    color: #9aa6c4;
}

/* Marks a value that differs from the library default for this inspection. */
.ov-badge[b-kchkaiyyym] {
    display: inline-block;
    margin-left: 6px;
    padding: 0 6px;
    font-size: 72%;
    font-weight: 600;
    color: #8a5a00;
    background: #fff3d6;
    border: 1px solid #e6c983;
    border-radius: 9px;
    vertical-align: middle;
}

.checklist-header[b-kchkaiyyym] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1100px;
    margin: 0 auto;
}

.checklist-header h1[b-kchkaiyyym] {
    margin-bottom: 2px;
}

.subtitle[b-kchkaiyyym] {
    color: #666;
    margin-bottom: 4px;
}

.mode-note[b-kchkaiyyym] {
    font-size: 85%;
    color: #888;
}

.mode-note a[b-kchkaiyyym] {
    color: #2c3e6b;
}

.lang-toggle button[b-kchkaiyyym] {
    padding: 6px 14px;
    border: 1px solid #ccc;
    background: #f5f5f5;
    cursor: pointer;
}

.lang-toggle button.active[b-kchkaiyyym] {
    background: #333;
    color: #fff;
    border-color: #333;
}

.lang-toggle button:first-child[b-kchkaiyyym] {
    border-radius: 4px 0 0 4px;
}

.lang-toggle button:last-child[b-kchkaiyyym] {
    border-radius: 0 4px 4px 0;
}

.system-tabs[b-kchkaiyyym] {
    max-width: 1100px;
    margin: 16px auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
}

/* Single-line variant: all system tabs on one row, horizontal scroll if needed. */
.system-tabs.single-line[b-kchkaiyyym] {
    max-width: none;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}

.system-tabs.single-line .tab[b-kchkaiyyym] {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* "SUMMARY" link sits under the tabs row. */
.summary-link[b-kchkaiyyym] {
    margin: 8px 0 16px;
}

.summary-link a[b-kchkaiyyym] {
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 88%;
    text-decoration: none;
    color: #2c3e6b;
}

.summary-link a:hover[b-kchkaiyyym] {
    text-decoration: underline;
}

.tab[b-kchkaiyyym] {
    padding: 8px 14px;
    border: 1px solid #ccc;
    background: #f8f8f8;
    border-radius: 4px;
    cursor: pointer;
    font-size: 90%;
}

.tab.active[b-kchkaiyyym] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

.tab .badge[b-kchkaiyyym] {
    display: inline-block;
    background: #e53935;
    color: #fff;
    border-radius: 10px;
    padding: 1px 7px;
    font-size: 80%;
    margin-left: 6px;
}

.tab.active .badge[b-kchkaiyyym] {
    background: #fff;
    color: #2c3e6b;
}

.empty-note[b-kchkaiyyym] {
    max-width: 1100px;
    margin: 20px auto;
    color: #888;
    font-style: italic;
}

.checklist-body[b-kchkaiyyym] {
    max-width: 1100px;
    margin: 20px auto;
}

.subsystem-section[b-kchkaiyyym] {
    margin-bottom: 24px;
}

.subsystem-section h3[b-kchkaiyyym] {
    background: #eef1f8;
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.component-block[b-kchkaiyyym] {
    margin: 10px 0 16px 16px;
}

.component-block h4[b-kchkaiyyym] {
    font-size: 100%;
    color: #444;
    margin-bottom: 6px;
}

.observation-card[b-kchkaiyyym] {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 12px 14px;
    margin: 0 0 10px 12px;
    background: #fafafa;
}

.observation-card.defect[b-kchkaiyyym] {
    border-left: 4px solid #c2410c;
}

.observation-title[b-kchkaiyyym] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: bold;
    cursor: pointer;
    margin-bottom: 6px;
}

.obs-field[b-kchkaiyyym] {
    font-size: 90%;
    color: #444;
    margin: 3px 0 3px 24px;
}

.observation-title.readonly[b-kchkaiyyym] {
    cursor: default;
}

.summary-system-block[b-kchkaiyyym] {
    max-width: 1100px;
    margin: 0 auto 30px;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 14px 18px;
}

.summary-system-header[b-kchkaiyyym] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #2c3e6b;
    padding-bottom: 8px;
    margin-bottom: 10px;
}

.summary-system-header h2[b-kchkaiyyym] {
    margin: 0;
    font-size: 120%;
}

.edit-link[b-kchkaiyyym] {
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 6px 14px;
    cursor: pointer;
    font-size: 85%;
}

.back-to-summary[b-kchkaiyyym] {
    background: none;
    border: none;
    color: #2c3e6b;
    cursor: pointer;
    font-size: 95%;
    padding: 0;
    text-decoration: underline;
}

.obs-header[b-kchkaiyyym] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 6px;
}

.obs-header .observation-title[b-kchkaiyyym] {
    flex: 1;
    margin-bottom: 0;
}

.icon-btn[b-kchkaiyyym] {
    background: none;
    border: 1px solid #bbb;
    border-radius: 4px;
    width: 24px;
    height: 24px;
    cursor: pointer;
    font-size: 85%;
}

.icon-btn.danger[b-kchkaiyyym] {
    color: #a33;
    border-color: #a33;
}

.condition-edit-form[b-kchkaiyyym] {
    border: 1px solid #2c3e6b;
    border-radius: 4px;
    padding: 10px;
    margin: 0 0 10px 12px;
    background: #fafbff;
}

.row2[b-kchkaiyyym] {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}

.row2 > input[b-kchkaiyyym],
.row2 > textarea[b-kchkaiyyym] {
    flex: 1;
    padding: 6px;
    box-sizing: border-box;
}

.row2 > textarea[b-kchkaiyyym] {
    min-height: 50px;
    resize: vertical;
}

.defect-toggle[b-kchkaiyyym] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 90%;
    color: #444;
}

.type-chip[b-kchkaiyyym] {
    font-size: 80%;
    font-weight: 600;
    border-radius: 10px;
    padding: 2px 10px;
    align-self: center;
    border: 1px solid transparent;
}

.type-chip.char[b-kchkaiyyym] {
    background: #d3efe9;
    color: #0f766e;
    border-color: #8fd6ca;
}

.type-chip.obs[b-kchkaiyyym] {
    background: #ffe4d0;
    color: #b8420c;
    border-color: #f4a97a;
}

.condition-edit-form .actions[b-kchkaiyyym] {
    text-align: right;
}

.condition-edit-form .actions button[b-kchkaiyyym] {
    margin-left: 6px;
}

.add-link[b-kchkaiyyym] {
    background: none;
    border: none;
    color: #2c3e6b;
    cursor: pointer;
    font-size: 90%;
    padding: 4px 0 4px 12px;
}

.add-link:hover[b-kchkaiyyym] {
    text-decoration: underline;
}

.custom-tag[b-kchkaiyyym] {
    background: #6c5ce7;
    color: #fff;
    font-size: 75%;
    padding: 2px 8px;
    border-radius: 10px;
}

.override-note[b-kchkaiyyym] {
    font-size: 82%;
    color: #666;
    font-style: italic;
    margin: 0 0 8px;
}

.photo-section[b-kchkaiyyym] {
    margin-top: 10px;
    border-top: 1px dashed #ddd;
    padding-top: 8px;
}

.photo-gallery[b-kchkaiyyym] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.photo-thumb[b-kchkaiyyym] {
    position: relative;
    width: 80px;
    height: 80px;
}

.photo-thumb img[b-kchkaiyyym] {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.photo-delete[b-kchkaiyyym] {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #a33;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 80%;
    cursor: pointer;
    line-height: 1;
}

.photo-upload-input[b-kchkaiyyym] {
    font-size: 85%;
}

.photo-error[b-kchkaiyyym] {
    display: block;
    color: #a33;
    font-size: 82%;
    margin-top: 4px;
}

/* ── Collapsible subsystem headers ── */
.subsystem-header[b-kchkaiyyym] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
    background: #eef1f8;
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.subsystem-header:hover[b-kchkaiyyym] {
    background: #dde3f0;
}

.subsystem-chevron[b-kchkaiyyym] {
    font-size: 80%;
    color: #555;
    flex-shrink: 0;
    margin-left: 8px;
}

/* ── Collapsible subsystem headers ── */
.subsystem-header[b-kchkaiyyym] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
    background: #eef1f8;
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.subsystem-header:hover[b-kchkaiyyym] {
    background: #dde3f0;
}

.subsystem-chevron[b-kchkaiyyym] {
    font-size: 80%;
    color: #555;
    flex-shrink: 0;
    margin-left: 8px;
}

/* ── Translate row inside edit/add forms ── */
.translate-row[b-kchkaiyyym] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-bottom: 8px;
    padding: 6px 8px;
    background: #f0f4ff;
    border-radius: 4px;
    border: 1px dashed #b0bcde;
}

.translate-label[b-kchkaiyyym] {
    font-size: 82%;
    color: #555;
    font-weight: 600;
    white-space: nowrap;
}

.translate-btn[b-kchkaiyyym] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 85%;
    white-space: nowrap;
}

.translate-btn:disabled[b-kchkaiyyym] {
    background: #8a9cc0;
    cursor: not-allowed;
}

.translate-btn:hover:not(:disabled)[b-kchkaiyyym] {
    background: #1e2d52;
}

.translate-spinner[b-kchkaiyyym] {
    animation: spin-b-kchkaiyyym 1s linear infinite;
    display: inline-block;
}

@keyframes spin-b-kchkaiyyym {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.translate-error[b-kchkaiyyym] {
    font-size: 82%;
    color: #a33;
    flex-basis: 100%;
}

/* ── Copy-to panel ── */
.copy-panel[b-kchkaiyyym] {
    border-color: #6c5ce7;
    background: #f8f7ff;
}

.dest-chooser[b-kchkaiyyym] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 8px;
}

.dest-option[b-kchkaiyyym] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 90%;
    color: #333;
    cursor: pointer;
}

.dest-hint[b-kchkaiyyym] {
    color: #888;
    font-size: 88%;
}

.dest-selects[b-kchkaiyyym] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.dest-selects select[b-kchkaiyyym] {
    flex: 1;
    min-width: 160px;
    padding: 6px;
    box-sizing: border-box;
}

.dest-selects select:disabled[b-kchkaiyyym] {
    background: #f0f0f0;
    color: #999;
}

.copy-error[b-kchkaiyyym] {
    color: #a33;
    font-size: 85%;
    margin: 4px 0;
}

.copy-result[b-kchkaiyyym] {
    max-width: 1100px;
    margin: 14px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    background: #eafaf1;
    border: 1px solid #59b287;
    color: #1c6b45;
    border-radius: 4px;
    padding: 8px 14px;
    font-size: 90%;
}

.copy-result-dismiss[b-kchkaiyyym] {
    background: none;
    border: none;
    color: #1c6b45;
    font-size: 130%;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
}

/* ── Media galleries + bottom action row (Photo left, Diagram right) ── */
/* Two columns: photos wrap side-by-side on the left (over the Photo button),
   diagrams wrap side-by-side on the right (over the Diagram button). */
.media-galleries[b-kchkaiyyym] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-top: 10px;
}

.gallery-col[b-kchkaiyyym] {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Photos take the rest of the row. */
.gallery-left[b-kchkaiyyym] {
    flex: 1 1 auto;
    justify-content: flex-start;
}

/* Diagrams are sparse (usually 1-2) - reserve just enough for two 90px
   thumbnails (90 + 8 gap + 90 = 188px); a 3rd wraps below, still right-aligned. */
.gallery-right[b-kchkaiyyym] {
    flex: 0 0 188px;
    max-width: 188px;
    justify-content: flex-end;
}

.media-actions[b-kchkaiyyym] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-top: 10px;
    border-top: 1px dashed #cdd6ea;
    padding-top: 8px;
}

.media-left[b-kchkaiyyym], .media-right[b-kchkaiyyym] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Button-styled label wrapping a hidden file input (no "No file chosen" text). */
.media-btn[b-kchkaiyyym] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 6px 14px;
    font-size: 88%;
    cursor: pointer;
}

.media-btn:hover[b-kchkaiyyym] { background: #1e2d52; }

.media-btn .hidden-file[b-kchkaiyyym] { display: none; }

/* Highlight an observation card while dragging a photo over it. */
.observation-card.drag-over[b-kchkaiyyym] {
    outline: 2px dashed #2c3e6b;
    outline-offset: 2px;
    background: #eef3ff;
}

/* ── Compact density: smaller bars/fonts from subsystem level down, to fit
   more lines per printed sheet. Selectors match existing specificity and come
   later in the file, so they win. ── */
.subsystem-section[b-kchkaiyyym] {
    margin-bottom: 12px;
}

.subsystem-section h3[b-kchkaiyyym],
.subsystem-header[b-kchkaiyyym] {
    padding: 4px 10px;
    margin-bottom: 6px;
    font-size: 0.95rem;
}

.component-block[b-kchkaiyyym] {
    margin: 6px 0 8px 14px;
}

.component-block h4[b-kchkaiyyym] {
    font-size: 86%;
    margin-bottom: 3px;
}

.observation-card[b-kchkaiyyym] {
    padding: 5px 10px;
    margin: 0 0 5px 10px;
}

.observation-title[b-kchkaiyyym] {
    font-size: 90%;
    margin-bottom: 3px;
    gap: 6px;
}

.obs-header[b-kchkaiyyym] {
    gap: 3px;
    margin-bottom: 3px;
}

.obs-field[b-kchkaiyyym] {
    font-size: 80%;
    margin: 2px 0 2px 20px;
}

.icon-btn[b-kchkaiyyym] {
    width: 20px;
    height: 20px;
    font-size: 78%;
}

.custom-tag[b-kchkaiyyym] {
    font-size: 70%;
    padding: 1px 6px;
}
/* /Components/Pages/InspectionReport.razor.rz.scp.css */
.toolbar[b-xsrk6gmtln] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 24px;
    background: #f5f5f5;
    border-bottom: 1px solid #ddd;
    position: sticky;
    top: 0;
}

.lang-toggle button[b-xsrk6gmtln] {
    padding: 5px 12px;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
}

.lang-toggle button.active[b-xsrk6gmtln] {
    background: #333;
    color: #fff;
}

.print-btn[b-xsrk6gmtln] {
    padding: 7px 16px;
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.print-btn:disabled[b-xsrk6gmtln] {
    opacity: 0.6;
    cursor: default;
}

.issued-badge[b-xsrk6gmtln] {
    color: #1f7a3d;
    font-weight: 700;
}

.issued-history[b-xsrk6gmtln] {
    max-width: 800px;
    margin: 0 auto 10px;
    padding: 6px 30px;
    font-size: 13px;
    color: #444;
}

.issued-chip[b-xsrk6gmtln] {
    display: inline-block;
    margin: 3px 6px 0 0;
    padding: 3px 10px;
    background: #eef1f8;
    border: 1px solid #d5dcec;
    border-radius: 12px;
}

.issued-date[b-xsrk6gmtln] {
    color: #777;
}

.report-page[b-xsrk6gmtln] {
    max-width: 800px;
    margin: 0 auto;
    padding: 30px;
    /* Clean sans-serif to match the sample report (was Georgia serif). */
    font-family: Arial, 'Helvetica Neue', Helvetica, 'Segoe UI', sans-serif;
    font-size: 13px;
    line-height: 1.45;
    color: #222;
}

.report-page h1[b-xsrk6gmtln] {
    text-align: center;
    border-bottom: 2px solid #2c3e6b;
    padding-bottom: 10px;
}

.summary-table[b-xsrk6gmtln] {
    width: 100%;
    margin: 20px 0 30px;
    border-collapse: collapse;
}

.summary-table td[b-xsrk6gmtln] {
    padding: 4px 8px;
    border-bottom: 1px solid #eee;
}

.empty-note[b-xsrk6gmtln] {
    color: #888;
    font-style: italic;
}

.system-section[b-xsrk6gmtln] {
    margin-bottom: 26px;
}

.system-section h2[b-xsrk6gmtln] {
    background: #eef1f8;
    padding: 6px 10px;
    border-radius: 3px;
}

.system-section h3[b-xsrk6gmtln] {
    font-size: 105%;
    color: #444;
    margin: 14px 0 6px;
}

.finding-list[b-xsrk6gmtln] {
    list-style: none;
    padding-left: 0;
    margin: 0 0 10px;
}

.finding-list li[b-xsrk6gmtln] {
    margin-bottom: 10px;
    padding-left: 4px;
}

.finding-list li.defect .finding-name[b-xsrk6gmtln] {
    color: #c2410c;
}

.finding-name[b-xsrk6gmtln] {
    font-weight: bold;
}

.detail[b-xsrk6gmtln] {
    font-size: 90%;
    color: #444;
    margin-left: 14px;
    text-align: justify;
}

.standing-section[b-xsrk6gmtln] {
    margin-top: 30px;
}

.standing-section h2[b-xsrk6gmtln] {
    border-bottom: 1px solid #ccc;
    padding-bottom: 6px;
}

.section-content[b-xsrk6gmtln] {
    white-space: pre-wrap;
    text-align: justify;
}

.attached-doc-note[b-xsrk6gmtln] {
    font-size: 90%;
}

.page-break[b-xsrk6gmtln] {
    page-break-before: always;
}

@media print {
    .no-print[b-xsrk6gmtln] {
        display: none !important;
    }

    .report-page[b-xsrk6gmtln] {
        padding: 0;
    }
}

/* ── Diagrams under a finding ── */
.finding-diagrams[b-xsrk6gmtln] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 8px 0 4px;
}

.finding-diagram[b-xsrk6gmtln] {
    max-width: 320px;
    max-height: 240px;
    object-fit: contain;
    border: 1px solid #bbb;
    border-radius: 4px;
    break-inside: avoid;
    page-break-inside: avoid;
}

/* ── Photos under a finding ── */
.finding-photos[b-xsrk6gmtln] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 8px 0 4px;
}

.finding-photo[b-xsrk6gmtln] {
    max-width: 260px;
    max-height: 220px;
    object-fit: contain;
    border: 1px solid #bbb;
    border-radius: 4px;
    break-inside: avoid;
    page-break-inside: avoid;
}

/* ── Cover page ── */
.cover-page[b-xsrk6gmtln] {
    padding: 20px 0 40px;
}

.cover-title-row[b-xsrk6gmtln] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 3px solid #2c3e6b;
    padding-bottom: 12px;
    margin-bottom: 8px;
}

.cover-page .cover-title[b-xsrk6gmtln] {
    text-align: left;
    border: none;
    padding: 0;
    margin: 0;
    font-size: 200%;
    letter-spacing: 1px;
    color: #2c3e6b;
}

.cover-report-number[b-xsrk6gmtln] {
    text-align: right;
    min-width: 150px;
}

.cover-report-number .crn-label[b-xsrk6gmtln] {
    font-size: 80%;
    color: #666;
}

.cover-report-number .crn-value[b-xsrk6gmtln] {
    font-size: 135%;
    font-weight: bold;
    color: #a33;
}

.cover-block[b-xsrk6gmtln] {
    margin: 26px 0;
}

.cover-block h2[b-xsrk6gmtln] {
    font-size: 95%;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #2c3e6b;
    border-bottom: 1px solid #cdd6ea;
    padding-bottom: 4px;
    margin: 0 0 8px;
}

.cover-address[b-xsrk6gmtln] {
    line-height: 1.5;
    margin-left: 12px;
}

.cover-address.indented[b-xsrk6gmtln] {
    margin-left: 24px;
    color: #444;
    font-size: 95%;
}

.cover-kv[b-xsrk6gmtln] {
    display: flex;
    gap: 12px;
    margin: 4px 0 4px 12px;
    line-height: 1.5;
}

.cover-kv .k[b-xsrk6gmtln] {
    min-width: 150px;
    color: #555;
}

.cover-kv .v[b-xsrk6gmtln] {
    font-weight: bold;
}

.cover-conducted[b-xsrk6gmtln] {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-top: 40px;
    border-top: 1px solid #cdd6ea;
    padding-top: 20px;
}

.cover-company[b-xsrk6gmtln], .cover-inspector[b-xsrk6gmtln] {
    flex: 1;
    line-height: 1.6;
}

.cover-company h2[b-xsrk6gmtln], .cover-inspector h2[b-xsrk6gmtln] {
    font-size: 95%;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #2c3e6b;
    margin: 0 0 8px;
}

.company-legal[b-xsrk6gmtln] {
    font-weight: bold;
}

.company-name[b-xsrk6gmtln] {
    font-weight: bold;
    color: #2c3e6b;
}

.cover-inspector .inspector-name[b-xsrk6gmtln] {
    font-weight: bold;
    font-size: 110%;
    margin-bottom: 18px;
}

.cover-inspector .sig-label[b-xsrk6gmtln] {
    font-size: 85%;
    color: #555;
    margin-top: 14px;
}

.cover-inspector .sig-line[b-xsrk6gmtln],
.cover-inspector .sig-date[b-xsrk6gmtln] {
    border-bottom: 1px solid #888;
    height: 26px;
    margin-top: 2px;
}

/* Company logo beside the company name/address in the conducted-by block */
.cover-company .company-body[b-xsrk6gmtln] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.cover-company .company-logo[b-xsrk6gmtln] {
    flex: 0 0 auto;
    max-width: 175px;
    max-height: 105px;
    object-fit: contain;
}

.cover-company .company-text[b-xsrk6gmtln] {
    flex: 1;
}

.cover-inspector .inspector-title[b-xsrk6gmtln],
.cover-inspector .inspector-license[b-xsrk6gmtln] {
    font-size: 88%;
    color: #444;
}

.cover-inspector .cover-signature[b-xsrk6gmtln] {
    display: block;
    max-width: 240px;
    max-height: 70px;
    object-fit: contain;
    margin: 4px 0 2px;
}

/* Main property photo on the cover */
.cover-main-photo[b-xsrk6gmtln] {
    text-align: center;
    margin: 20px 0 26px;
}

.cover-main-photo img[b-xsrk6gmtln] {
    max-width: 100%;
    max-height: 360px;
    object-fit: contain;
    border: 1px solid #ccc;
}

/* ── Report sections (§1 + systems), sample layout ── */
.report-section[b-xsrk6gmtln] {
    margin-bottom: 20px;
}

/* Per-system running-header table: the <thead> (system title band) repeats atop
   every printed page the section spans. Cells carry no styling of their own. */
.sys-runtable[b-xsrk6gmtln] {
    width: 100%;
    border-collapse: collapse;
}

.sys-runtable > thead[b-xsrk6gmtln] {
    display: table-header-group;
}

.sys-runtable > thead > tr > td[b-xsrk6gmtln],
.sys-runtable > tbody > tr > td[b-xsrk6gmtln] {
    padding: 0;
    vertical-align: top;
}

.section-header[b-xsrk6gmtln] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 2px solid #333;
    padding-bottom: 4px;
}

.section-header .sh-title[b-xsrk6gmtln] {
    font-size: 118%;
    font-weight: bold;
    letter-spacing: 0.3px;
}

.section-header .sh-num[b-xsrk6gmtln] {
    margin-right: 4px;
}

.section-header .sh-rn[b-xsrk6gmtln] {
    text-align: right;
    font-size: 82%;
    font-weight: bold;
    white-space: nowrap;
}

.section-header .sh-rn-label[b-xsrk6gmtln] {
    font-weight: normal;
    color: #555;
}

.section-subhead[b-xsrk6gmtln] {
    font-size: 80%;
    letter-spacing: 0.5px;
    color: #555;
    margin: 3px 0 14px;
}

.rc-block[b-xsrk6gmtln] {
    margin-bottom: 16px;
}

.rc-heading[b-xsrk6gmtln] {
    font-size: 100%;
    font-weight: bold;
    margin: 0 0 6px;
    letter-spacing: 0.3px;
}

.rc-body[b-xsrk6gmtln] {
    white-space: pre-wrap;
    text-align: justify;
}

.rc-body-p p[b-xsrk6gmtln] {
    margin: 0 0 8px;
    text-align: justify;
}

.rc-system-list[b-xsrk6gmtln] {
    margin: 8px 0 0 8px;
    padding-left: 20px;
}

.rc-system-list li[b-xsrk6gmtln] {
    margin-bottom: 2px;
}

/* ── Component Characteristics: two columns like the sample ──
   Left = this inspection's checked values; right = standing education essay. */
.cc-columns[b-xsrk6gmtln] {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    margin-top: 6px;
}

.cc-left[b-xsrk6gmtln] {
    flex: 0 0 37%;
    max-width: 37%;
}

.cc-right[b-xsrk6gmtln] {
    flex: 1 1 auto;
    min-width: 0;
}

.cc-row[b-xsrk6gmtln] {
    margin-bottom: 9px;
    break-inside: avoid;
    page-break-inside: avoid;
}

.cc-label[b-xsrk6gmtln] {
    font-weight: bold;
    font-size: 87%;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    color: #2c3e6b;
}

.cc-values[b-xsrk6gmtln] {
    margin: 1px 0 0 10px;
}

.cc-value[b-xsrk6gmtln] {
    font-size: 92%;
    color: #222;
}

.cc-right .rc-body[b-xsrk6gmtln] {
    font-size: 92%;
    color: #333;
}

/* ── Observations block (full width, below the columns) ── */
.obs-block[b-xsrk6gmtln] {
    margin-top: 8px;
}

.obs-subhead[b-xsrk6gmtln] {
    font-size: 100%;
    color: #444;
    margin: 12px 0 6px;
    border-bottom: 1px solid #e4e4e4;
    padding-bottom: 3px;
}

/* Note 2: consolidated Summary of Deficiencies section. */
.deficiency-summary .def-total[b-xsrk6gmtln] { color: #c2410c; }

.deficiency-summary .def-intro[b-xsrk6gmtln] {
    color: #444;
    font-size: 0.9rem;
    margin: 4px 0 12px;
}

.deficiency-summary .def-sys[b-xsrk6gmtln] {
    color: #2c3e6b;
    font-size: 0.95rem;
    margin: 16px 0 4px;
    border-bottom: 1px solid #dbe0ec;
    padding-bottom: 3px;
}

.deficiency-summary .def-list[b-xsrk6gmtln] {
    margin: 4px 0 0;
    padding-left: 22px;
}

.deficiency-summary .def-list li[b-xsrk6gmtln] {
    margin-bottom: 7px;
    break-inside: avoid;
}

.deficiency-summary .def-name[b-xsrk6gmtln] {
    font-weight: 700;
    color: #c2410c;
}

.deficiency-summary .def-loc[b-xsrk6gmtln] { color: #555; }

.deficiency-summary .def-action[b-xsrk6gmtln] {
    font-size: 0.86rem;
    color: #333;
    margin-top: 2px;
}
/* /Components/Pages/Invoice.razor.rz.scp.css */
.toolbar[b-2az9355qyb] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 16px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 16px;
}

.toolbar a[b-2az9355qyb] {
    text-decoration: none;
    color: #2c3e6b;
}

.print-btn[b-2az9355qyb] {
    margin-left: auto;
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 8px 18px;
    cursor: pointer;
    font-weight: 600;
}

/* ── Invoice sheet ── */
.invoice-page[b-2az9355qyb] {
    max-width: 850px;
    margin: 0 auto;
    padding: 8px 24px 16px;
    color: #1c1c1c;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.3;
}

.inv-header[b-2az9355qyb] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    padding-bottom: 8px;
    border-bottom: 2px solid #2c3e6b;
}

.inv-date[b-2az9355qyb] {
    font-weight: 600;
}

.inv-number[b-2az9355qyb] {
    margin-top: 6px;
}

.inv-logo[b-2az9355qyb] {
    display: block;
    margin-top: 8px;
    max-height: 58px;
    max-width: 200px;
    object-fit: contain;
}

.inv-header-right[b-2az9355qyb] {
    text-align: right;
}

.inv-title[b-2az9355qyb] {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #2c3e6b;
    margin-bottom: 8px;
}

.inv-title.callback[b-2az9355qyb] {
    font-size: 24px;
    letter-spacing: 1px;
}

.inv-co-legal[b-2az9355qyb] {
    font-weight: 700;
}

.inv-co-name[b-2az9355qyb] {
    font-weight: 600;
    margin-bottom: 3px;
}

/* ── Bill To ── */
.inv-billto[b-2az9355qyb] {
    margin: 10px 0;
    padding: 8px 12px;
    background: #f4f6fb;
    border: 1px solid #e2e6ef;
    border-radius: 5px;
}

.inv-billto-label[b-2az9355qyb] {
    margin-bottom: 6px;
}

.inv-billto-name[b-2az9355qyb] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-weight: 600;
}

.inv-tax-inline[b-2az9355qyb] {
    display: flex;
    flex-direction: column;
    text-align: right;
    font-weight: 400;
    font-size: 12px;
    color: #444;
    white-space: nowrap;
}

/* ── Two-column info ── */
.inv-columns[b-2az9355qyb] {
    display: flex;
    gap: 20px;
    margin: 12px 0;
}

.inv-col[b-2az9355qyb] {
    flex: 1;
    border: 1px solid #dde1ea;
    border-radius: 6px;
    overflow: hidden;
}

.inv-col-head[b-2az9355qyb] {
    background: #2c3e6b;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.5px;
    padding: 6px 10px;
}

.inv-kv[b-2az9355qyb] {
    width: 100%;
    border-collapse: collapse;
}

.inv-kv td[b-2az9355qyb] {
    vertical-align: top;
    padding: 3px 10px;
    border-bottom: 1px solid #eef0f5;
}

.inv-kv td.k[b-2az9355qyb] {
    width: 38%;
    color: #555;
    font-weight: 600;
}

/* ── Fees ── */
.inv-fees[b-2az9355qyb] {
    margin: 14px auto;
    max-width: 560px;
    border: 1px solid #dde1ea;
    border-radius: 6px;
    overflow: hidden;
}

.inv-fees-title[b-2az9355qyb] {
    background: #eef1f8;
    text-align: center;
    font-weight: 700;
    padding: 6px;
    border-bottom: 1px solid #dde1ea;
}

.inv-fees-table[b-2az9355qyb] {
    width: 100%;
    border-collapse: collapse;
}

.inv-fees-table td[b-2az9355qyb] {
    padding: 4px 12px;
    border-bottom: 1px solid #f0f2f6;
}

.inv-fees-table .fee-label[b-2az9355qyb] {
    width: 45%;
}

.inv-fees-table .fee-amount[b-2az9355qyb] {
    text-align: right;
    width: 25%;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.inv-fees-table .fee-note[b-2az9355qyb] {
    color: #777;
    font-size: 11px;
    white-space: nowrap;
}

/* Editable amount input (call-back invoice) */
.fee-cur[b-2az9355qyb] {
    margin-right: 1px;
}

.fee-input[b-2az9355qyb] {
    width: 78px;
    text-align: right;
    font: inherit;
    padding: 2px 4px;
    border: 1px solid #c3ccdf;
    border-radius: 4px;
    background: #fffef4;
}

.fee-input:focus[b-2az9355qyb] {
    outline: none;
    border-color: #2c3e6b;
    background: #fff;
}

/* Editable Fee 1 / Fee 2 label */
.fee-label-input[b-2az9355qyb] {
    width: 100%;
    font: inherit;
    padding: 2px 4px;
    border: 1px solid #c3ccdf;
    border-radius: 4px;
    background: #fffef4;
}

.fee-label-input:focus[b-2az9355qyb] {
    outline: none;
    border-color: #2c3e6b;
    background: #fff;
}

/* ── Issued state (screen only) ── */
.issued-badge[b-2az9355qyb] {
    color: #1f7a3d;
    font-weight: 700;
}

.issued-history[b-2az9355qyb] {
    max-width: 850px;
    margin: 0 auto 10px;
    padding: 8px 24px;
    font-size: 13px;
    color: #444;
}

.issued-chip[b-2az9355qyb] {
    display: inline-block;
    margin: 3px 6px 0 0;
    padding: 3px 10px;
    background: #eef1f8;
    border: 1px solid #d5dcec;
    border-radius: 12px;
}

.issued-date[b-2az9355qyb] {
    color: #777;
}

.inv-fees-table .fee-total td[b-2az9355qyb] {
    border-top: 2px solid #2c3e6b;
    border-bottom: none;
    font-weight: 700;
    font-size: 14px;
    padding-top: 8px;
}

/* ── Sign-off row: "On behalf of" left, signature right (after totals, before notes) ── */
.inv-signoff[b-2az9355qyb] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin: 14px 0 8px;
}

.inv-onbehalf[b-2az9355qyb] {
    align-self: flex-end;
}

.inv-signature[b-2az9355qyb] {
    width: 260px;
    text-align: center;
}

.inv-sig-img[b-2az9355qyb] {
    max-height: 64px;
    max-width: 240px;
    object-fit: contain;
}

.inv-sig-name[b-2az9355qyb] {
    border-top: 1px solid #999;
    margin-top: 2px;
    padding-top: 3px;
    font-weight: 600;
}

.inv-sig-role[b-2az9355qyb] {
    font-size: 11px;
    color: #666;
}

/* ── Footer ── */
.inv-footer[b-2az9355qyb] {
    margin-top: 14px;
    padding-top: 8px;
    border-top: 1px solid #dde1ea;
    font-size: 11px;
    color: #333;
}

.inv-footer > div[b-2az9355qyb] {
    margin-bottom: 4px;
}

.inv-notes[b-2az9355qyb] {
    margin-bottom: 8px;
}

.inv-thanks[b-2az9355qyb] {
    margin-top: 10px;
    text-align: center;
    font-weight: 700;
    color: #2c3e6b;
    letter-spacing: 0.5px;
}

@media print {
    .no-print[b-2az9355qyb] { display: none !important; }
    .invoice-page[b-2az9355qyb] { max-width: none; margin: 0; padding: 0; }
    /* Editable inputs print as plain values (no box) */
    .fee-input[b-2az9355qyb],
    .fee-label-input[b-2az9355qyb] {
        border: none;
        background: transparent;
        padding: 0;
        -webkit-appearance: none;
        appearance: none;
    }
    .fee-label-input[b-2az9355qyb] { width: auto; }
    /* Fee lines with no amount are hidden on the printed copy */
    .fee-empty[b-2az9355qyb] { display: none; }
}
/* /Components/Pages/LibraryManager.razor.rz.scp.css */
.subtitle[b-l6b18xa7zf] {
    color: #666;
}

.lm-head[b-l6b18xa7zf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.recycle-link[b-l6b18xa7zf] {
    flex-shrink: 0;
    color: #2c3e6b;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #c3d0f0;
    border-radius: 4px;
    padding: 6px 12px;
    background: #f3f6ff;
    white-space: nowrap;
}

.recycle-link:hover[b-l6b18xa7zf] { background: #e6ecfb; }

/* Deep-link (?focus=) landing highlight on the opened edit form. */
.condition-edit-form.focus-flash[b-l6b18xa7zf] {
    animation: focusFlash-b-l6b18xa7zf 1.6s ease-out;
}

@keyframes focusFlash-b-l6b18xa7zf {
    0%   { box-shadow: 0 0 0 3px #ffd27a; background: #fff8e6; }
    100% { box-shadow: 0 0 0 0 transparent; background: transparent; }
}

/* Mode tabs and the "Manage Systems" toggle on the same row, flush to the left edge
   (aligned with the title, system tabs and tree — no centring). */
.mode-row[b-l6b18xa7zf] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 14px 0;
}

.mode-row .mode-toggle[b-l6b18xa7zf] {
    margin: 0;
}

.mode-toggle[b-l6b18xa7zf] {
    margin: 14px 0;
}

.mode-toggle button[b-l6b18xa7zf] {
    padding: 8px 18px;
    border: 1px solid #ccc;
    background: #f5f5f5;
    cursor: pointer;
    font-size: 95%;
}

.mode-toggle button:first-child[b-l6b18xa7zf] {
    border-radius: 4px 0 0 4px;
}

.mode-toggle button:last-child[b-l6b18xa7zf] {
    border-radius: 0 4px 4px 0;
}

.mode-toggle button.active[b-l6b18xa7zf] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

.system-tabs[b-l6b18xa7zf] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 16px;
}

.tab[b-l6b18xa7zf] {
    padding: 8px 14px;
    border: 1px solid #ccc;
    background: #f8f8f8;
    border-radius: 4px;
    cursor: pointer;
    font-size: 90%;
}

.tab.active[b-l6b18xa7zf] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

.tree-body[b-l6b18xa7zf] {
    max-width: none;
}

.subsystem-block[b-l6b18xa7zf] {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-bottom: 6px;
    overflow: hidden;
}

.subsystem-block.adding[b-l6b18xa7zf] {
    padding: 12px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.row-header[b-l6b18xa7zf] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    background: #eef1f8;
    cursor: pointer;
}

.expand-arrow[b-l6b18xa7zf] {
    font-size: 80%;
    width: 14px;
}

.row-header .name[b-l6b18xa7zf] {
    flex: 1;
    font-weight: bold;
}

.icon-btn[b-l6b18xa7zf] {
    background: none;
    border: 1px solid #bbb;
    border-radius: 4px;
    width: 26px;
    height: 26px;
    cursor: pointer;
    font-size: 90%;
}

.icon-btn.danger[b-l6b18xa7zf] {
    color: #a33;
    border-color: #a33;
}

.component-list[b-l6b18xa7zf] {
    padding: 6px 10px 8px 24px;
}

.component-block[b-l6b18xa7zf] {
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    margin-bottom: 4px;
}

.component-block.adding[b-l6b18xa7zf] {
    padding: 10px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.component-block .row-header[b-l6b18xa7zf] {
    background: #f7f7f7;
    cursor: default;
}

.move-label[b-l6b18xa7zf] {
    font-size: 85%;
    color: #666;
    margin-left: 6px;
}

.condition-list[b-l6b18xa7zf] {
    padding: 5px 10px 8px 20px;
}

.condition-row[b-l6b18xa7zf] {
    padding: 3px 0;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.condition-row .name[b-l6b18xa7zf] {
    flex-basis: 100%;
}

.condition-row .detail[b-l6b18xa7zf] {
    flex-basis: 100%;
    font-size: 85%;
    color: #555;
    margin-left: 4px;
}

.condition-edit-form[b-l6b18xa7zf] {
    border: 1px solid #2c3e6b;
    border-radius: 4px;
    padding: 10px;
    margin: 6px 0;
    background: #fafbff;
}

.row2[b-l6b18xa7zf] {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}

.row2 > input[b-l6b18xa7zf],
.row2 > textarea[b-l6b18xa7zf] {
    flex: 1;
    padding: 6px;
    box-sizing: border-box;
}

.row2 > textarea[b-l6b18xa7zf] {
    min-height: 50px;
    resize: vertical;
}

.condition-edit-form .actions[b-l6b18xa7zf] {
    text-align: right;
}

.condition-edit-form .actions button[b-l6b18xa7zf],
.condition-row button[b-l6b18xa7zf],
.row-header button[b-l6b18xa7zf],
.component-block.adding button[b-l6b18xa7zf],
.subsystem-block.adding button[b-l6b18xa7zf] {
    margin-left: 4px;
}

input[b-l6b18xa7zf],
select[b-l6b18xa7zf] {
    padding: 5px;
}

.add-link[b-l6b18xa7zf] {
    background: none;
    border: none;
    color: #2c3e6b;
    cursor: pointer;
    font-size: 90%;
    padding: 4px 0;
}

.add-link:hover[b-l6b18xa7zf] {
    text-decoration: underline;
}

.top-add[b-l6b18xa7zf] {
    display: block;
    width: fit-content;
    margin: 10px auto 0;   /* centred under the subsystem tree */
    font-size: 100%;
    font-weight: bold;
}

.error-msg[b-l6b18xa7zf] {
    color: #a33;
    background: #fdecea;
    border: 1px solid #a33;
    border-radius: 4px;
    padding: 8px 12px;
    margin-top: 12px;
    max-width: 1100px;
}

.defect-toggle[b-l6b18xa7zf] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 90%;
    color: #444;
}

.category-tag[b-l6b18xa7zf] {
    font-size: 75%;
    padding: 2px 8px;
    border-radius: 10px;
    border: 1px solid transparent;
}

.category-tag.char[b-l6b18xa7zf] {
    background: #d3efe9;
    color: #0f766e;
    border-color: #8fd6ca;
}

.category-tag.obs[b-l6b18xa7zf] {
    background: #ffe4d0;
    color: #b8420c;
    border-color: #f4a97a;
}

/* Type indicator inside the add/edit form (replaces the old IsDefect checkbox;
   the type now follows the current mode — change type via Move). */
.type-chip[b-l6b18xa7zf] {
    font-size: 80%;
    padding: 3px 10px;
    border-radius: 10px;
    font-weight: 600;
    align-self: center;
    border: 1px solid transparent;
}

.type-chip.char[b-l6b18xa7zf] {
    background: #d3efe9;
    color: #0f766e;
    border-color: #8fd6ca;
}

.type-chip.obs[b-l6b18xa7zf] {
    background: #ffe4d0;
    color: #b8420c;
    border-color: #f4a97a;
}

.copy-btn[b-l6b18xa7zf] {
    background: #eef1f8;
    border: 1px solid #2c3e6b;
    color: #2c3e6b;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 80%;
    cursor: pointer;
    white-space: nowrap;
}

.copy-btn:hover[b-l6b18xa7zf] {
    background: #2c3e6b;
    color: #fff;
}

.copy-panel[b-l6b18xa7zf] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    background: #fafbff;
    border: 1px solid #2c3e6b;
    border-radius: 4px;
    padding: 10px 14px;
    margin: 6px 0 10px 30px;
}

.copy-panel label[b-l6b18xa7zf] {
    font-size: 85%;
    font-weight: bold;
    color: #444;
}

.copy-panel select[b-l6b18xa7zf] {
    padding: 5px;
}

.copy-panel button[b-l6b18xa7zf] {
    padding: 5px 12px;
    cursor: pointer;
}

.copy-panel.record[b-l6b18xa7zf] {
    margin-left: 0;
}

.copy-hint[b-l6b18xa7zf] {
    font-size: 80%;
    color: #667;
    font-style: italic;
}

.copy-notice[b-l6b18xa7zf] {
    background: #e7f6ec;
    border: 1px solid #b6dec4;
    color: #1f7a3d;
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 10px;
    cursor: pointer;
}

/* ── Diagrams attached to a library condition ── */
.lib-diagrams[b-l6b18xa7zf] {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}

/* ── Pick-list management panel (Recommended Actions + Locations) ── */
.lists-panel[b-l6b18xa7zf] {
    max-width: 1100px;
    margin: 10px auto 0;
}

/* The two system-specific pick-lists sit at the bottom, centred and narrower than the
   tree (visually distinct); their toggle bars are equal length. */
/* Report content + Recommended Actions + Locations frozen at the bottom with a solid
   separation line. Collapsed = thin frozen toggles; expanded caps at 45vh and scrolls.
   Report content spans full width on top; Actions + Locations sit side by side below. */
.picklists-bottom[b-l6b18xa7zf] {
    position: sticky;
    bottom: 0;
    z-index: 15;
    background: #fff;
    max-width: none;
    margin: 26px 0 0;
    padding: 10px 0 6px;
    border-top: 3px solid #2c3e6b;
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 45vh;
    overflow-y: auto;
}

.picklists-row[b-l6b18xa7zf] {
    display: flex;
    gap: 12px;
}

.picklists-bottom .lists-panel[b-l6b18xa7zf] {
    max-width: none;
    margin: 0;
}

.picklists-row .lists-panel[b-l6b18xa7zf] {
    flex: 1 1 0;
}

.picklists-bottom .lists-toggle[b-l6b18xa7zf] {
    display: block;
    width: 100%;
    text-align: center;
}

/* ── Manage Systems panel ── */
.systems-panel[b-l6b18xa7zf] {
    max-width: 1100px;
    margin: 10px auto 0;
}

.systems-manage[b-l6b18xa7zf] {
    margin-top: 10px;
    border: 1px solid #e2e6ef;
    border-radius: 6px;
    padding: 10px 12px;
    background: #fafbff;
}

.sys-hint[b-l6b18xa7zf] {
    margin: 0 0 8px;
    font-size: 12px;
    color: #667;
}

.sys-row[b-l6b18xa7zf] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    border-bottom: 1px solid #eef0f5;
    flex-wrap: wrap;
}

.sys-row.add[b-l6b18xa7zf] {
    border-bottom: none;
    margin-top: 6px;
}

.sys-name[b-l6b18xa7zf] {
    flex: 1;
    min-width: 220px;
}

.sys-full[b-l6b18xa7zf] {
    color: #2c3e6b;
    margin-left: 4px;
}

.sys-excluded[b-l6b18xa7zf] {
    color: #a33;
    font-size: 85%;
    margin-left: 6px;
}

.sys-edit[b-l6b18xa7zf] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}

.sys-edit input[type="text"][b-l6b18xa7zf],
.sys-edit input:not([type])[b-l6b18xa7zf],
.sys-row.add input[b-l6b18xa7zf] {
    padding: 4px 6px;
    border: 1px solid #c3ccdf;
    border-radius: 4px;
    min-width: 150px;
}

.sys-check[b-l6b18xa7zf] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 90%;
    color: #444;
    white-space: nowrap;
}

.lists-toggle[b-l6b18xa7zf] {
    background: #eef1f8;
    border: 1px solid #d6ddec;
    border-radius: 4px;
    padding: 6px 12px;
    cursor: pointer;
    font-weight: 600;
    color: #2c3e6b;
}

.lists-grid[b-l6b18xa7zf] {
    display: flex;
    gap: 20px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.list-col[b-l6b18xa7zf] {
    flex: 1 1 340px;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    padding: 10px 12px;
    background: #fbfcff;
}

.list-col h4[b-l6b18xa7zf] {
    margin: 0 0 8px;
    font-size: 95%;
}

.list-scope[b-l6b18xa7zf] {
    color: #888;
    font-weight: normal;
    font-size: 88%;
}

.list-row[b-l6b18xa7zf] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 0;
    border-bottom: 1px solid #f0f0f0;
}

.list-row .list-text[b-l6b18xa7zf] {
    flex: 1;
    font-size: 90%;
}

.list-row input[b-l6b18xa7zf] {
    flex: 1;
    padding: 4px 6px;
    min-width: 0;
}

.list-row.add[b-l6b18xa7zf] {
    border-bottom: none;
    margin-top: 6px;
}

/* Action/Location combobox rows in the condition edit/add forms */
.row2.combo[b-l6b18xa7zf] {
    align-items: center;
}

.row2.combo > input[b-l6b18xa7zf] {
    flex: 1;
    padding: 6px;
    box-sizing: border-box;
    min-width: 0;
}

.pick-add[b-l6b18xa7zf] {
    flex: 0 0 auto;
    padding: 5px 8px;
    font-size: 82%;
    border: 1px solid #b9c2d8;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    white-space: nowrap;
}

/* ── Library header actions (Manage Systems beside Recycle bin) ── */
.lm-head-actions[b-l6b18xa7zf] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.manage-systems-btn[b-l6b18xa7zf] {
    background: #eef1f8;
    border: 1px solid #c3ccdf;
    border-radius: 4px;
    padding: 6px 12px;
    cursor: pointer;
    font-weight: 700;
    color: #2c3e6b;
    white-space: nowrap;
}

.manage-systems-btn.active[b-l6b18xa7zf],
.manage-systems-btn:hover[b-l6b18xa7zf] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

/* ── Two-ribbon system+mode selector, frozen at the top (bolder than the app ribbons) ── */
.lib-ribbons[b-l6b18xa7zf] {
    position: sticky;
    top: 0;
    z-index: 20;
    background: #fff;
    padding: 8px 0;
    margin-bottom: 14px;
    border-bottom: 3px solid #2c3e6b;
}

.lib-ribbon-row[b-l6b18xa7zf] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 3px 0;
}

.lib-ribbon-label[b-l6b18xa7zf] {
    font-weight: 800;
    width: 110px;
    flex-shrink: 0;
    font-size: 0.9rem;
    padding-top: 5px;
    color: #1c2a4d;
}

.lib-ribbon-links[b-l6b18xa7zf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    flex: 1 1 auto;
}

.lib-sys[b-l6b18xa7zf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    box-sizing: border-box;
    padding: 5px 10px;
    border: 1.5px solid #c3ccdf;
    border-radius: 5px;
    background: #f0f2f8;
    color: #2c3e6b;
    font-size: 0.84rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.lib-sys:hover[b-l6b18xa7zf] { background: #e2e8f5; }

.lib-sys.char.active[b-l6b18xa7zf] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

.lib-sys.obs[b-l6b18xa7zf] {
    background: #fff;
    border-color: #c2410c;
    color: #c2410c;
}

.lib-sys.obs:hover[b-l6b18xa7zf] { background: #ffe9dc; }

.lib-sys.obs.active[b-l6b18xa7zf] {
    background: #c2410c;
    color: #fff;
    border-color: #c2410c;
}

/* Divider before the Life Safety / Vertical Transportation group. */
.ribbon-divider[b-l6b18xa7zf] {
    flex: 0 0 auto;
    align-self: center;
    width: 3px;
    height: 24px;
    background: #8a93a8;
    margin: 0 9px;
    border-radius: 1px;
}
/* /Components/Pages/LibraryOverview.razor.rz.scp.css */
.sub[b-zqz9puyjwy] {
    color: #667;
    margin-top: -6px;
    margin-bottom: 16px;
}

.cards[b-zqz9puyjwy] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 26px;
}

.card[b-zqz9puyjwy] {
    flex: 1 1 150px;
    min-width: 140px;
    border: 1px solid #dbe0ec;
    border-radius: 8px;
    padding: 12px 14px;
    background: #fafbff;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: box-shadow .12s, transform .12s;
}

a.card:hover[b-zqz9puyjwy] {
    box-shadow: 0 2px 8px rgba(44, 62, 107, 0.15);
    transform: translateY(-1px);
}

.stat-table td.n a[b-zqz9puyjwy] {
    color: #2c3e6b;
    font-weight: 600;
    text-decoration: none;
}

.stat-table td.n a:hover[b-zqz9puyjwy] { text-decoration: underline; }

.stat-table td.flag a[b-zqz9puyjwy] { color: #b5651d; }

.card.warn[b-zqz9puyjwy] { background: #fff8f3; border-color: #f0d3bd; }
.card.stage[b-zqz9puyjwy] { background: #f4f6fd; border-color: #cdd6ea; }

.card .v[b-zqz9puyjwy] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #2c3e6b;
    line-height: 1.1;
}

.card.warn .v[b-zqz9puyjwy] { color: #b5651d; }

.card .l[b-zqz9puyjwy] {
    margin-top: 4px;
    font-size: 0.8rem;
    color: #667;
}

.card .s[b-zqz9puyjwy] {
    margin-top: 2px;
    font-size: 0.74rem;
    color: #8892aa;
}

h3[b-zqz9puyjwy] {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #2c3e6b;
    border-bottom: 1px solid #dbe0ec;
    padding-bottom: 4px;
}

.stat-table[b-zqz9puyjwy] {
    border-collapse: collapse;
    width: 100%;
    max-width: 780px;
    margin-top: 10px;
}

.stat-table th[b-zqz9puyjwy],
.stat-table td[b-zqz9puyjwy] {
    padding: 7px 12px;
    border-bottom: 1px solid #eef1f8;
    font-size: 0.9rem;
}

.stat-table thead th[b-zqz9puyjwy] {
    text-align: left;
    color: #667;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.stat-table th.n[b-zqz9puyjwy],
.stat-table td.n[b-zqz9puyjwy] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.stat-table td.flag[b-zqz9puyjwy] {
    color: #b5651d;
    font-weight: 600;
}

.note[b-zqz9puyjwy] {
    margin-top: 20px;
    color: #888;
    font-size: 0.82rem;
    font-style: italic;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-card[b-rgim3fw9kn] {
    max-width: 360px;
    margin: 8vh auto 0;
    padding: 32px 28px;
    border: 1px solid #e2e6ef;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(30, 40, 70, 0.08);
    background: #fff;
}

.login-title[b-rgim3fw9kn] {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    color: #2c3e6b;
    letter-spacing: 0.5px;
}

.login-sub[b-rgim3fw9kn] {
    margin: 2px 0 22px;
    color: #6a7180;
    font-size: 14px;
}

.login-form[b-rgim3fw9kn] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.login-label[b-rgim3fw9kn] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
    font-weight: 600;
    color: #3a4256;
}

.login-input[b-rgim3fw9kn] {
    padding: 9px 11px;
    border: 1px solid #ccd3e0;
    border-radius: 6px;
    font-size: 15px;
}

.login-input:focus[b-rgim3fw9kn] {
    outline: none;
    border-color: #2c3e6b;
    box-shadow: 0 0 0 3px rgba(44, 62, 107, 0.12);
}

.login-btn[b-rgim3fw9kn] {
    margin-top: 6px;
    padding: 10px;
    border: none;
    border-radius: 6px;
    background: #2c3e6b;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.login-btn:hover[b-rgim3fw9kn] {
    background: #24345c;
}

.login-lang[b-rgim3fw9kn] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 4px;
}

.login-lang a[b-rgim3fw9kn] {
    font-size: 12px;
    font-weight: 700;
    color: #6a7180;
    text-decoration: none;
    padding: 2px 6px;
    border-radius: 4px;
}

.login-lang a.on[b-rgim3fw9kn] {
    background: #2c3e6b;
    color: #fff;
}

.login-error[b-rgim3fw9kn] {
    padding: 8px 11px;
    border-radius: 6px;
    background: #fdecea;
    border: 1px solid #f5c2c0;
    color: #b3261e;
    font-size: 13px;
}
/* /Components/Pages/RecycleBin.razor.rz.scp.css */
.rb-head[b-0fmz08y86u] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.sub[b-0fmz08y86u] {
    color: #667;
    margin-top: -6px;
}

.back-link[b-0fmz08y86u] {
    color: #2c3e6b;
    font-weight: 600;
    white-space: nowrap;
    padding-top: 6px;
}

.empty[b-0fmz08y86u] {
    color: #667;
    background: #f7f8fb;
    border: 1px solid #e2e6ef;
    border-radius: 6px;
    padding: 16px;
}

.rb-toolbar[b-0fmz08y86u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 8px 0 12px;
}

.rb-count[b-0fmz08y86u] {
    color: #667;
    font-size: 0.9rem;
}

.empty-btn[b-0fmz08y86u] {
    background: #fff;
    color: #a33;
    border: 1px solid #e0b4b4;
    border-radius: 4px;
    padding: 6px 12px;
    cursor: pointer;
    font-weight: 600;
}

.empty-btn:hover:not(:disabled)[b-0fmz08y86u] { background: #fdecea; }

.rb-notice[b-0fmz08y86u] {
    background: #eef3ff;
    border: 1px solid #c3d0f0;
    color: #2c3e6b;
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 10px;
    cursor: pointer;
}

.rb-list[b-0fmz08y86u] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rb-row[b-0fmz08y86u] {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #e2e6ef;
    border-radius: 6px;
    padding: 8px 12px;
    background: #fff;
}

.rb-kind[b-0fmz08y86u] {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 700;
    color: #fff;
    border-radius: 9px;
    padding: 2px 9px;
    min-width: 84px;
    text-align: center;
}

.kind-subsystem[b-0fmz08y86u] { background: #2c3e6b; }
.kind-component[b-0fmz08y86u] { background: #4a6b8a; }
.kind-record[b-0fmz08y86u]    { background: #6c7a94; }

.rb-main[b-0fmz08y86u] { flex: 1 1 auto; min-width: 0; }

.rb-name[b-0fmz08y86u] {
    font-weight: 600;
    color: #222;
}

.rb-path[b-0fmz08y86u] {
    font-size: 0.82rem;
    color: #778;
    margin-top: 1px;
}

.rb-contents[b-0fmz08y86u] { color: #99a; }

.rb-actions[b-0fmz08y86u] {
    flex-shrink: 0;
    display: flex;
    gap: 6px;
}

.rb-actions button[b-0fmz08y86u] {
    border-radius: 4px;
    padding: 5px 11px;
    cursor: pointer;
    font-size: 0.82rem;
    border: 1px solid #c3ccdf;
    background: #fff;
}

.rb-actions .restore[b-0fmz08y86u] {
    color: #1f7a3d;
    border-color: #b6dec4;
    font-weight: 600;
}

.rb-actions .restore:hover:not(:disabled)[b-0fmz08y86u] { background: #e7f6ec; }

.rb-actions .purge[b-0fmz08y86u] {
    color: #a33;
    border-color: #e0b4b4;
}

.rb-actions .purge:hover:not(:disabled)[b-0fmz08y86u] { background: #fdecea; }
/* /Components/Pages/Reports.razor.rz.scp.css */
.subtitle[b-dud3ufv09s] {
    color: #666;
}

.report-menu[b-dud3ufv09s] {
    max-width: 700px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
}

.report-menu-item[b-dud3ufv09s] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-decoration: none;
    color: inherit;
    background: #fafafa;
}

a.report-menu-item:hover[b-dud3ufv09s] {
    background: #eef1f8;
    border-color: #2c3e6b;
}

.report-menu-item.disabled[b-dud3ufv09s] {
    opacity: 0.55;
    cursor: default;
}

.report-menu-item .icon[b-dud3ufv09s] {
    font-size: 28px;
}

.report-menu-item .title[b-dud3ufv09s] {
    font-weight: bold;
}

.report-menu-item .desc[b-dud3ufv09s] {
    font-size: 90%;
    color: #666;
}
/* /Components/Pages/ReportSections.razor.rz.scp.css */
.subtitle[b-bbbyvpbpr2] {
    color: #666;
    max-width: 700px;
}

.section-card[b-bbbyvpbpr2] {
    max-width: 900px;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 20px;
    background: #fafafa;
}

.row2[b-bbbyvpbpr2] {
    display: flex;
    gap: 12px;
    margin-bottom: 10px;
}

.row2 > div[b-bbbyvpbpr2] {
    flex: 1;
}

.section-card label[b-bbbyvpbpr2] {
    display: block;
    font-weight: bold;
    font-size: 90%;
    margin-bottom: 3px;
}

.section-card input[b-bbbyvpbpr2],
.section-card textarea[b-bbbyvpbpr2] {
    width: 100%;
    box-sizing: border-box;
    padding: 6px;
    font-family: inherit;
}

.card-footer[b-bbbyvpbpr2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}

.active-toggle[b-bbbyvpbpr2] {
    font-weight: normal !important;
    display: flex !important;
    align-items: center;
    gap: 6px;
}

.card-actions button[b-bbbyvpbpr2] {
    padding: 6px 14px;
    margin-left: 8px;
    cursor: pointer;
}

.card-actions .save[b-bbbyvpbpr2] {
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 4px;
}

.card-actions .delete[b-bbbyvpbpr2] {
    background: #fff;
    color: #a33;
    border: 1px solid #a33;
    border-radius: 4px;
}

.saved-msg[b-bbbyvpbpr2] {
    color: #2e7d32;
    font-size: 85%;
    float: right;
    margin-top: 4px;
}

.add-section[b-bbbyvpbpr2] {
    padding: 8px 16px;
    cursor: pointer;
}

.pdf-row[b-bbbyvpbpr2] {
    margin: 10px 0;
}

.pdf-row label[b-bbbyvpbpr2] {
    display: block;
    font-weight: bold;
    font-size: 90%;
    margin-bottom: 4px;
}

.pdf-chip[b-bbbyvpbpr2] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #eef1f8;
    border: 1px solid #2c3e6b;
    border-radius: 4px;
    padding: 4px 10px;
}

.pdf-chip a[b-bbbyvpbpr2] {
    color: #2c3e6b;
    text-decoration: none;
    font-weight: bold;
}

.remove-pdf[b-bbbyvpbpr2] {
    background: none;
    border: none;
    color: #a33;
    cursor: pointer;
    font-size: 110%;
    padding: 0;
}

.upload-error[b-bbbyvpbpr2] {
    display: block;
    color: #a33;
    font-size: 85%;
    margin-top: 4px;
}
/* /Components/Pages/Settings.razor.rz.scp.css */
.subtitle[b-8f1ywpid8q] {
    color: #666;
    margin-bottom: 16px;
}

.field-hint[b-8f1ywpid8q] {
    color: #777;
    font-size: 85%;
    margin: -6px 0 10px;
}

.settings-grid[b-8f1ywpid8q] {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    max-width: 1000px;
}

.settings-card[b-8f1ywpid8q] {
    flex: 1 1 400px;
    border: 1px solid #cdd6ea;
    border-radius: 6px;
    padding: 14px 18px;
    background: #fafbff;
}

.settings-card h2[b-8f1ywpid8q] {
    margin: 0 0 12px;
    font-size: 115%;
    color: #2c3e6b;
    border-bottom: 1px solid #e2e2e2;
    padding-bottom: 6px;
}

.settings-card label[b-8f1ywpid8q] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 85%;
    color: #555;
    margin-bottom: 10px;
}

.settings-card .two[b-8f1ywpid8q] {
    display: flex;
    gap: 12px;
}

.settings-card .two label[b-8f1ywpid8q] {
    flex: 1;
}

.settings-card input[b-8f1ywpid8q],
.settings-card textarea[b-8f1ywpid8q] {
    padding: 6px 8px;
    border: 1px solid #bbb;
    border-radius: 4px;
    font-size: 95%;
    box-sizing: border-box;
}

.settings-card textarea[b-8f1ywpid8q] {
    resize: vertical;
}

.save-row[b-8f1ywpid8q] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 4px 0 10px;
}

.save-row .primary[b-8f1ywpid8q] {
    background: #2c3e6b;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 7px 16px;
    cursor: pointer;
}

.saved[b-8f1ywpid8q] {
    color: #1c6b45;
    font-size: 88%;
}

.img-field[b-8f1ywpid8q] {
    margin-top: 12px;
    border-top: 1px dashed #cdd6ea;
    padding-top: 12px;
}

.img-label[b-8f1ywpid8q] {
    font-size: 85%;
    color: #555;
    font-weight: 600;
    margin-bottom: 6px;
}

.logo-preview[b-8f1ywpid8q] {
    display: block;
    max-width: 260px;
    max-height: 130px;
    object-fit: contain;
    border: 1px solid #ccc;
    background: #fff;
    padding: 4px;
    margin-bottom: 8px;
}

.sig-preview[b-8f1ywpid8q] {
    display: block;
    max-width: 260px;
    max-height: 90px;
    object-fit: contain;
    border: 1px solid #ccc;
    background: #fff;
    padding: 4px;
    margin-bottom: 8px;
}

.no-img[b-8f1ywpid8q] {
    display: block;
    color: #999;
    font-style: italic;
    font-size: 88%;
    margin-bottom: 8px;
}

.err[b-8f1ywpid8q] {
    color: #a33;
    font-size: 85%;
    margin-top: 4px;
}
/* /Components/Pages/SupplementaryAttachments.razor.rz.scp.css */
.subtitle[b-0zltnq9ij6] {
    color: #666;
    max-width: 700px;
}

.upload-box[b-0zltnq9ij6] {
    max-width: 900px;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 16px;
    margin: 16px 0 24px;
    background: #fafafa;
}

.row2[b-0zltnq9ij6] {
    display: flex;
    gap: 12px;
    margin-bottom: 10px;
}

.row2 > div[b-0zltnq9ij6] {
    flex: 1;
}

.upload-box label[b-0zltnq9ij6] {
    display: block;
    font-weight: bold;
    font-size: 90%;
    margin-bottom: 3px;
}

.upload-box input[type="text"][b-0zltnq9ij6],
.upload-box input:not([type])[b-0zltnq9ij6] {
    width: 100%;
    box-sizing: border-box;
    padding: 6px;
}

.upload-row[b-0zltnq9ij6] {
    margin-top: 8px;
}

.upload-error[b-0zltnq9ij6] {
    display: block;
    color: #a33;
    font-size: 85%;
    margin-top: 4px;
}

.empty[b-0zltnq9ij6] {
    color: #888;
}

table.attachment-table[b-0zltnq9ij6] {
    border-collapse: collapse;
    max-width: 1000px;
    width: 100%;
}

table.attachment-table th[b-0zltnq9ij6],
table.attachment-table td[b-0zltnq9ij6] {
    border-bottom: 1px solid #eee;
    padding: 8px 10px;
    text-align: left;
    font-size: 90%;
}

table.attachment-table th[b-0zltnq9ij6] {
    background: #f0f0f0;
}

table.attachment-table .delete[b-0zltnq9ij6] {
    background: #fff;
    color: #a33;
    border: 1px solid #a33;
    border-radius: 4px;
    padding: 4px 10px;
    cursor: pointer;
}
/* /Components/SystemRibbons.razor.rz.scp.css */
.system-ribbons[b-lm7c9belv2] {
    margin-bottom: 12px;
    /* Freeze the ribbons at the top while scrolling the (often long) checklist below. */
    position: sticky;
    top: 0;
    z-index: 20;
    background: #fff;
    padding-top: 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e2e6ef;
}

.ribbon-row[b-lm7c9belv2] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 3px 0;
}

.ribbon-label[b-lm7c9belv2] {
    font-weight: bold;
    width: 104px;
    flex-shrink: 0;
    font-size: 85%;
    padding-top: 4px;
}

.ribbon-links[b-lm7c9belv2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    flex: 1 1 auto;
}

/* Right-aligned slot (Home: Library links). */
.ribbon-extra[b-lm7c9belv2] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding-top: 2px;
}

/* Uniform tag size: every system tag is the same fixed width regardless of screen size;
   what flexes with the viewport is the gap between the tag block and the Library link
   (ribbon-links is flex:1, so the empty space after the tags absorbs the width change). */
.sys-link[b-lm7c9belv2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 92px;
    box-sizing: border-box;
    padding: 3px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #f5f5f5;
    text-decoration: none;
    color: #2c3e6b;
    font-size: 82%;
    white-space: nowrap;
}

/* Library links (built into the ribbon so they show on every page that hosts it). */
.lib-link[b-lm7c9belv2] {
    font-size: 82%;
    font-weight: 600;
    color: #2c3e6b;
    text-decoration: none;
    border: 1px solid #c3d0f0;
    border-radius: 4px;
    padding: 3px 10px;
    background: #f3f6ff;
    white-space: nowrap;
}

.lib-link:hover[b-lm7c9belv2] {
    background: #e6ecfb;
}

.sys-link:hover[b-lm7c9belv2] {
    background: #eef1f8;
}

/* Sets the Life Safety / Vertical Transportation group apart: space + line + space. */
.ribbon-divider[b-lm7c9belv2] {
    flex: 0 0 auto;
    align-self: center;
    width: 2px;
    height: 22px;
    background: #aeb7cc;
    margin: 0 8px;
    border-radius: 1px;
}

/* Characteristics = neutral navy; active fills navy. */
.sys-link.char.active[b-lm7c9belv2] {
    background: #2c3e6b;
    color: #fff;
    border-color: #2c3e6b;
}

/* Defects = amber (matches the record-type Defect colour, off the status palette). */
.sys-link.obs[b-lm7c9belv2] {
    border-color: #c2410c;
    color: #c2410c;
    background: #fff;
}

.sys-link.obs:hover[b-lm7c9belv2] {
    background: #ffe9dc;
}

.sys-link.obs.active[b-lm7c9belv2] {
    background: #c2410c;
    color: #fff;
    border-color: #c2410c;
}

.sys-link.disabled[b-lm7c9belv2] {
    color: #aaa;
    border-color: #ddd;
    background: #f7f7f7;
    cursor: default;
}

.rib-badge[b-lm7c9belv2] {
    display: inline-block;
    margin-left: 5px;
    min-width: 15px;
    padding: 0 4px;
    font-size: 82%;
    font-weight: 700;
    line-height: 15px;
    text-align: center;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.13);
    color: inherit;
}
/* /Components/TestWatermark.razor.rz.scp.css */
/* Tiled diagonal "TEST / TRIAL" stamp. The SVG tile keeps it repeating across
   every printed page (a single fixed element would only stamp one page cleanly). */
.test-watermark[b-d52wo81k2n] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    background-repeat: repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='340'%20height='230'%3E%3Ctext%20x='170'%20y='120'%20fill='rgba(200,0,0,0.12)'%20font-size='36'%20font-family='Arial,sans-serif'%20font-weight='bold'%20text-anchor='middle'%20transform='rotate(-30%20170%20120)'%3ETEST%20/%20TRIAL%3C/text%3E%3C/svg%3E");
    /* Force the tile to print in Chromium-based browsers. */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
