/* Shared view-level styles consolidated from Razor views. */

.table-condensed td {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

.btn-sm {
    padding-top: 0px;
    padding-bottom: 0px;
}

/* Form and detail helpers */
.lf-width {
    font-weight: 600;
    white-space: nowrap;
    width: 125px !important;
}

.lf-width-125 {
    width: 125px !important;
    font-weight: 600;
}

.lf-width-150 {
    width: 150px;
    font-weight: 600;
}

.tbf-width {
    max-width: 300px !important;
}

.edit-col {
    max-width: 40px !important;
    width: 40px !important;
}

.table-stats thead tr th,
.table-stats tbody tr td {
    padding: 0.3em;
}

.required {
    background-color: #e5b8b8;
}

.fc-required {
    border: 2px solid #dc3545 !important;
    background-color: #fff5f5;
}

.fc-decimal {
    text-align: right;
}

.formFieldCell {
    display: inline-block;
    margin-left: 2px;
    max-width: 12px;
    vertical-align: middle;
    width: 12px;
}

.wide-popover {
    max-width: 500px !important;
    width: 500px !important;
}

.textrows {
    height: 200px;
    max-width: 800px;
    width: 800px;
}

.table-nonfluid {
    width: auto !important;
}

/* Markdown helpers */
.md p {
    margin-bottom: 1px;
    margin-top: 1px;
}

.md .li1 {
    margin-left: 1.5em;
}

.md .li2 {
    margin-left: 3em;
}

.md-input {
    border: 1px solid #ccc;
    margin: 0 1px;
    padding: 0 1px;
}

.md h1 {
    font-size: 1.5em;
}

.md h2 {
    font-size: 1.4em;
}

.md h3 {
    font-size: 1.3em;
}

.md h4 {
    font-size: 1.2em;
}

.md h5 {
    font-size: 1.1em;
}

.md h6 {
    font-size: 1.05em;
}

.md blockquote {
    background-color: #f9f9f9;
    border-left: 4px solid #ccc;
    border-radius: 4px;
    color: #555;
    font-style: italic;
    line-height: 1.5;
    margin: 1.5em 0;
    padding: 1em 1.5em;
}

/* Table and list helpers */
.dataTables_length {
    display: inline;
    float: left;
    margin-right: 10px;
}

.filter-wrapper {
    display: inline;
    float: left;
}

    .filter-wrapper .intermediary {
        float: left;
        padding: 0 3px 0 5px;
    }

    .filter-wrapper .status,
    .filter-wrapper .owner,
    .filter-wrapper .planType {
        float: left;
        padding: 0 3px 0 5px;
    }

    .filter-wrapper .planYearEnd {
        float: left;
        padding-left: 5px;
    }

    .filter-wrapper label {
        float: left;
        padding: 0 3px 0 5px;
    }

.dottedUnderline {
    background-color: lightgoldenrodyellow;
    border-bottom: 1px dotted;
}

.column-toggle-wrapper {
    display: inline;
    float: left;
    margin-left: 20px;
}

    .column-toggle-wrapper label {
        float: left;
        margin-right: 10px;
    }

table.dataTable {
    width: 100%;
}

.button-container {
    display: flex;
    flex-wrap: wrap;
    margin-top: 22px;
    padding-left: 10px;
}

.btn-filter,
.btn-clear-filter {
    border: 1px solid #ccc;
    cursor: pointer;
    margin: 0 2px 0 0;
    padding: 0 3px;
}

.btn-filter {
    background-color: #f8f9fa;
}

    .btn-filter.active {
        background-color: #007bff;
        color: white;
    }

.attachment-tn {
    max-width: 300px !important;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.noPageBreak {
    margin: 0 0 25px 0;
    page-break-inside: avoid;
}

.prospective-report-table {
    border-collapse: collapse;
    margin: 0;
    padding: 0;
    width: 100%;
}

.prospective-report-border-bottom {
    border-bottom: 1px solid gray;
    height: 25px;
}

.secure-send-file-link {
    display: inline-block;
    max-width: 55ch;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}

.secure-send-logo {
    margin-bottom: 20px;
    max-width: 500px;
    width: 100%;
}

.picklist-row {
    display: flex;
    gap: 20px;
}

.picklist-select {
    height: 100px;
    min-width: 200px;
    width: 200px;
}

.picklist-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
}

/* =============================================================================================================== */

.intermediary-report-table,
.intermediary-report-table th,
.intermediary-report-table td {
    font-size: 0.95em;
}

/* =============================================================================================================== */
/* Shared checklist grid helpers */
.checklist-grid-row.is-complete .checklist-grid-description {
    color: #6c757d;
    text-decoration: line-through;
}

.checklist-grid-row.is-complete .checklist-grid-owner {
    opacity: 0.8;
}

.checklist-grid-meta {
    font-size: 0.70rem;
}

.checklist-grid-owner {
    max-width: 260px;
}

.checklist-grid-table th,
.checklist-grid-table td {
    vertical-align: middle;
}

.checklist-grid-number {
    color: #6c757d;
    font-variant-numeric: tabular-nums;
}

.checklist-grid-description-cell {
    min-width: 320px;
}

.checklist-grid-detail {
    color: #6c757d;
    font-size: 0.7rem;
    line-height: 1.05;
    white-space: normal;
}

.checklist-grid-checkbox {
    text-align: center;
}

/* =============================================================================================================== */

.task-missing {
    color: red;
    font-size: 0.9rem;
}

    .task-missing a,
    .task-missing a:visited,
    .task-missing a:hover,
    .task-missing a:active {
        color: red;
    }

.task-complete,
.task-child-complete {
    color: #222;
    font-size: 0.9rem;
}

    .task-complete a,
    .task-complete a:visited,
    .task-complete a:hover,
    .task-complete a:active,
    .task-child-complete a,
    .task-child-complete a:visited,
    .task-child-complete a:hover,
    .task-child-complete a:active {
        color: #222;
    }

.task-future {
    color: #cbcbcb;
    font-size: 0.9rem;
}

    .task-future a,
    .task-future a:visited,
    .task-future a:hover,
    .task-future a:active {
        color: #cbcbcb;
    }

.toggle-active {
    font-size: 0.85em;
}

    .toggle-active:link {
        color: gray !important;
    }

    .toggle-active:visited {
        color: gray;
    }

    .toggle-active:hover {
        color: darkolivegreen;
    }

    .toggle-active:active {
        color: blue;
    }

/* Correspondence shell */
html,
body {
    height: 100%;
}

.tpa-shell {
    height: 92vh;
}

.flex-col {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.message-list-scroll,
.message-preview-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.message-preview-scroll {
    display: flex;
    flex-direction: column;
}

.correspondence-row.active td {
    background-color: var(--bs-primary-bg-subtle);
}

.message-list-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

#email-body-preview {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    white-space: pre-wrap;
    word-break: break-word;
}

#email-body-preview-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
}

.course-module {
    padding-right: 5px;
    text-align: right;
}

    .course-module a {
        margin: 0;
        padding: 0;
    }

    .course-module button {
        margin: 0;
        padding: 0;
    }

#table-dt1 {
    font-size: 90%;
}

    #table-dt1 th,
    #table-dt1 td {
        padding: 0.3rem;
    }

    #table-dt1 ul,
    #table-dt1 p,
    #master-table ul {
        margin-bottom: 0;
    }

.clientdeadline td {
    padding-bottom: 2px;
    padding-top: 2px;
}

    .clientdeadline td ul {
        margin-bottom: 0;
        padding-left: 8px;
    }

.clientdeadline li,
.Tier-2 {
    font-size: 0.85em;
}

.clientdeadline th {
    padding-bottom: 2px;
    padding-top: 2px;
}

.indentClass {
    padding-left: 15px !important;
}

button.link-button {
    all: unset;
    color: gray;
    cursor: pointer;
    text-decoration: underline;
}

    button.link-button:hover {
        color: darkblue;
    }

.status-task-incomplete {
    background-color: lightgoldenrodyellow !important;
}

.intermediary-checkbox-list {
    background: #fafafa;
    border: 1px solid #ddd;
    max-height: 6.5em;
    overflow-y: auto;
    padding: 0.5em;
}

.FTWPlanProvision {
    background-color: #fff;
    border-collapse: collapse;
    margin-bottom: 1rem;
    width: 100%;
}

    .FTWPlanProvision th,
    .FTWPlanProvision td {
        border: 1px solid #dee2e6;
        text-align: left;
        vertical-align: top;
    }

    .FTWPlanProvision th {
        background-color: #f8f9fa;
        font-weight: 600;
    }

    .FTWPlanProvision tr:nth-child(even) {
        background-color: #f2f2f2;
    }

    .FTWPlanProvision tr:hover {
        background-color: #e9ecef;
    }

.census-grid-container {
    max-height: 520px;
    min-height: 180px;
    width: 100%;
}

#census-grid .numeric-cell {
    justify-content: flex-end;
    text-align: right;
}

#census-grid .ag-row.new-ssn-row {
    background-color: #e6f8e6;
}

#census-grid .ag-cell.changed-cell {
    background-color: #fff4cc;
}

#census-grid .ag-cell.dob-flag,
#census-grid .ag-cell.date-order-flag,
#census-grid .ag-cell.rule-flag {
    background-color: #f8d7da;
}

.secure-send-page .secure-send-card {
    border-color: rgba(33, 37, 41, 0.08);
    border-radius: 1rem;
    overflow: hidden;
}

.secure-send-page .secure-send-card-header {
    background: var(--bs-tertiary-bg);
    border-bottom: 1px solid rgba(33, 37, 41, 0.08);
    padding: 1rem 1.15rem;
}

.secure-send-page .secure-send-meta {
    display: grid;
    grid-template-columns: minmax(5.75rem, 7.5rem) minmax(0, 1fr);
    column-gap: 1rem;
    row-gap: 0.05rem; /* was 0.35rem; */
}

    .secure-send-page .secure-send-meta dt {
        color: var(--bs-secondary-color);
        font-weight: 700;
        /* font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        margin-bottom: 0;
        text-transform: uppercase; */
    }

    .secure-send-page .secure-send-meta dd {
        margin-bottom: 0;
        min-width: 0;
        overflow-wrap: anywhere;
    }

.secure-send-page .secure-send-files-table {
    table-layout: fixed;
}

.sidebar-brand-logo {
    height: 20px;
    margin-right: 5px;
}

.app-sidebar-user {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    margin: 0 1rem 1rem;
    padding: 0.85rem 0.95rem;
}

.app-sidebar-user-label {
    color: rgba(222, 235, 255, 0.62);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.app-sidebar-user-name {
    color: #fff;
    font-size: 0.95rem;
    /*font-weight: 600;*/
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-sidebar-brand {
    /*background-color: red !important;*/
    align-items: center;
    display: flex;
    gap: 0.05rem; /* 85rem; */
    padding: 1.5rem 1.35rem 0rem;
}

.app-sidebar-brand-mark {
    /*background-color: green !important;*/
    align-items: center;
    /*background: rgba(255, 255, 255, 0.12);*/
    /*border: 1px solid rgba(255, 255, 255, 0.18);*/
    /*border-radius: 0.9rem;*/
    display: inline-flex;
    height: 2.6rem;
    justify-content: center;
    width: 2.6rem;
}