/*
 * ================================================================
 * DAREF V2.1 — FINAL LIST READABILITY V35
 * ================================================================
 *
 * PURPOSE
 * -------
 * Restore normal readable typography and spacing on application
 * LIST/TABLE screens only.
 *
 * This stylesheet deliberately does NOT change:
 * - html font-size
 * - body font-size
 * - browser zoom
 * - app shell scale
 * - sidebar width
 * - payment document sheet typography
 * - registration forms
 * - edit forms
 * - invoice/receipt templates
 *
 * Supported current operational screens:
 * - Maids
 * - Clients
 * - Agents
 * - Assignments
 * - Assignment management/history
 * - Generic Payments lists
 * - Other legacy app-table list screens
 */


/* ================================================================
   LIST PAGE HEADINGS
   Chromium used by the current system supports :has().
   This means form/profile pages remain untouched.
   ================================================================ */

.mv21-page:has(.mv21-table) .mv21-head h1,
.cv21-page:has(.cv21-table) .cv21-head h1,
.av21-page:has(.av21-table) .av21-head h1,
.as21-page:has(.as21-table) .as21-head h1 {
    font-size: 24px !important;
    line-height: 1.2 !important;
}


.mv21-page:has(.mv21-table) .mv21-head p,
.cv21-page:has(.cv21-table) .cv21-head p,
.av21-page:has(.av21-table) .av21-head p,
.as21-page:has(.as21-table) .as21-head p {
    font-size: 14px !important;
    line-height: 1.55 !important;
}


/* ================================================================
   EYEBROW / SECTION LABELS
   ================================================================ */

.mv21-page:has(.mv21-table) .mv21-eyebrow,
.cv21-page:has(.cv21-table) .cv21-eyebrow,
.av21-page:has(.av21-table) .av21-eyebrow,
.as21-page:has(.as21-table) .as21-eyebrow {
    font-size: 11px !important;
    line-height: 1.3 !important;
    letter-spacing: .08em !important;
}


/* ================================================================
   TOOLBARS / SEARCH / FILTERS
   ================================================================ */

.mv21-toolbar,
.cv21-toolbar,
.av21-toolbar,
.as21-toolbar,
.filter-card .filter-grid {
    font-size: 14px;
}


.mv21-toolbar input,
.mv21-toolbar select,
.cv21-toolbar input,
.cv21-toolbar select,
.av21-toolbar input,
.av21-toolbar select,
.as21-toolbar input,
.as21-toolbar select,
.filter-card .filter-grid .app-input,
.filter-card .filter-grid .app-select {
    min-height: 40px !important;

    padding:
        9px
        12px !important;

    font-size: 14px !important;
    line-height: 1.35 !important;
}


.mv21-toolbar input::placeholder,
.cv21-toolbar input::placeholder,
.av21-toolbar input::placeholder,
.as21-toolbar input::placeholder,
.filter-card input::placeholder {
    font-size: 13px !important;
}


/* ================================================================
   LIST BUTTONS
   ================================================================ */

.mv21-page:has(.mv21-table) .mv21-btn,
.cv21-page:has(.cv21-table) .cv21-btn,
.av21-page:has(.av21-table) .av21-btn,
.as21-page:has(.as21-table) .as21-btn,
.filter-card .dark-button,
.table-card .brand-button,
.table-card .outline-button {
    min-height: 38px;

    padding:
        8px
        13px !important;

    font-size: 13px !important;
    line-height: 1.25 !important;
}


/* ================================================================
   TABLE WRAPPERS
   Never shrink table typography merely to fit the screen.
   Horizontal scrolling is preferable to microscopic text.
   ================================================================ */

.mv21-table-wrap,
.cv21-table-wrap,
.av21-table-wrap,
.as21-table-wrap,
.am21-table-wrap,
.ah21-table-wrap,
.responsive-table {
    width: 100%;
    max-width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;
}


/* ================================================================
   CORE TABLE SIZE
   ================================================================ */

.mv21-table,
.cv21-table,
.av21-table,
.as21-table,
.am21-table,
.ah21-table,
.table-card .app-table {
    width: 100%;

    border-collapse: collapse;

    font-size: 14px !important;
    line-height: 1.45 !important;
}


/*
 * Prevent high-column tables from compressing every column into
 * tiny unreadable content.
 */

.mv21-table,
.cv21-table,
.av21-table,
.table-card .app-table {
    min-width: 900px;
}


.as21-table,
.am21-table,
.ah21-table {
    min-width: 1080px;
}


/* ================================================================
   TABLE HEADERS
   ================================================================ */

.mv21-table th,
.cv21-table th,
.av21-table th,
.as21-table th,
.am21-table th,
.ah21-table th,
.table-card .app-table th {
    padding:
        11px
        12px !important;

    font-size: 12px !important;

    font-weight: 750 !important;

    line-height: 1.3 !important;

    letter-spacing: .025em;

    vertical-align: middle;

    white-space: nowrap;
}


/* ================================================================
   TABLE BODY
   ================================================================ */

.mv21-table td,
.cv21-table td,
.av21-table td,
.as21-table td,
.am21-table td,
.ah21-table td,
.table-card .app-table td {
    padding:
        11px
        12px !important;

    font-size: 14px !important;

    line-height: 1.45 !important;

    vertical-align: middle;
}


/* ================================================================
   IMPORTANT / STRONG VALUES
   ================================================================ */

.mv21-table td strong,
.cv21-table td strong,
.av21-table td strong,
.as21-table td strong,
.am21-table td strong,
.ah21-table td strong,
.table-card .app-table td strong {
    font-size: inherit;
    font-weight: 700;
}


/* ================================================================
   TABLE ACTION LINKS
   ================================================================ */

.mv21-table td a,
.cv21-table td a,
.av21-table td a,
.as21-table td a,
.am21-table td a,
.ah21-table td a,
.table-card .app-table td a,
.as21-parent-actions a {
    font-size: 13px !important;

    line-height: 1.35 !important;

    font-weight: 650;

    white-space: nowrap;
}


/* ================================================================
   STATUS LABELS
   ================================================================ */

.mv21-table .mv21-pill,
.cv21-table .cv21-pill,
.av21-table .av21-pill,
.as21-table .as21-pill,
.mv21-table .status-pill,
.cv21-table .status-pill,
.av21-table .status-pill,
.as21-table .status-pill,
.table-card .app-table .status-pill,
.as21-parent-head .status-pill {
    font-size: 12px !important;

    line-height: 1.25 !important;

    padding:
        4px
        7px !important;
}


/* ================================================================
   MAID / CLIENT / AGENT EMPTY ROWS
   ================================================================ */

.mv21-empty,
.cv21-empty,
.av21-empty,
.as21-empty {
    padding:
        25px
        16px !important;

    font-size: 14px !important;

    line-height: 1.5 !important;
}


/* ================================================================
   ASSIGNMENT GROUP HEADERS
   ================================================================ */

.as21-assignment {
    margin-bottom: 18px;
}


.as21-parent-head {
    min-height: 52px;

    padding:
        10px
        13px !important;

    gap: 12px;
}


.as21-parent-head > div:first-child {
    min-width: 0;
}


.as21-parent-head strong {
    font-size: 14px !important;

    line-height: 1.35 !important;
}


.as21-parent-head span {
    font-size: 13px !important;

    line-height: 1.4 !important;
}


.as21-parent-actions {
    gap: 9px;
}


.as21-parent-actions a,
.as21-parent-actions button {
    font-size: 12.5px !important;
}


/* ================================================================
   GENERIC PAYMENT / LEGACY LIST
   ================================================================ */

.page-intro:has(+ .record-summary-grid) h2,
.page-intro:has(~ .table-card) h2 {
    font-size: 24px !important;

    line-height: 1.2 !important;
}


.page-intro:has(+ .record-summary-grid) p,
.page-intro:has(~ .table-card) p {
    font-size: 14px !important;

    line-height: 1.5 !important;
}


.record-summary-card span {
    font-size: 13px !important;
}


.record-summary-card strong {
    font-size: 20px !important;
}


.filter-card .filter-grid button {
    min-height: 40px;

    font-size: 13px !important;
}


/* ================================================================
   LONG TEXT
   ================================================================ */

.mv21-table td,
.cv21-table td,
.av21-table td,
.as21-table td,
.am21-table td,
.ah21-table td,
.table-card .app-table td {
    overflow-wrap: anywhere;
}


/* ================================================================
   DESKTOP
   ================================================================ */

@media (min-width: 1100px) {

    .mv21-table td,
    .cv21-table td,
    .av21-table td,
    .as21-table td,
    .am21-table td,
    .ah21-table td,
    .table-card .app-table td {
        font-size: 14px !important;
    }


    .mv21-table th,
    .cv21-table th,
    .av21-table th,
    .as21-table th,
    .am21-table th,
    .ah21-table th,
    .table-card .app-table th {
        font-size: 12px !important;
    }

}


/* ================================================================
   TABLET / MOBILE
   Keep readable text. Do not reduce it to 8px/9px.
   ================================================================ */

@media (max-width: 900px) {

    .mv21-table,
    .cv21-table,
    .av21-table,
    .as21-table,
    .am21-table,
    .ah21-table,
    .table-card .app-table {
        font-size: 14px !important;
    }


    .mv21-table th,
    .cv21-table th,
    .av21-table th,
    .as21-table th,
    .am21-table th,
    .ah21-table th,
    .table-card .app-table th {
        padding:
            10px
            11px !important;

        font-size: 12px !important;
    }


    .mv21-table td,
    .cv21-table td,
    .av21-table td,
    .as21-table td,
    .am21-table td,
    .ah21-table td,
    .table-card .app-table td {
        padding:
            10px
            11px !important;

        font-size: 14px !important;
    }


    .mv21-toolbar input,
    .mv21-toolbar select,
    .cv21-toolbar input,
    .cv21-toolbar select,
    .av21-toolbar input,
    .av21-toolbar select,
    .as21-toolbar input,
    .as21-toolbar select,
    .filter-card .filter-grid .app-input,
    .filter-card .filter-grid .app-select {
        font-size: 16px !important;
    }

}


/* ================================================================
   SMALL MOBILE
   ================================================================ */

@media (max-width: 520px) {

    .mv21-page:has(.mv21-table) .mv21-head h1,
    .cv21-page:has(.cv21-table) .cv21-head h1,
    .av21-page:has(.av21-table) .av21-head h1,
    .as21-page:has(.as21-table) .as21-head h1 {
        font-size: 22px !important;
    }


    .mv21-table td,
    .cv21-table td,
    .av21-table td,
    .as21-table td,
    .am21-table td,
    .ah21-table td,
    .table-card .app-table td {
        font-size: 14px !important;
    }


    .mv21-table th,
    .cv21-table th,
    .av21-table th,
    .as21-table th,
    .am21-table th,
    .ah21-table th,
    .table-card .app-table th {
        font-size: 12px !important;
    }

}


/* ================================================================
   IMPORTANT SAFETY RULE
   No application scaling belongs in this file.
   ================================================================ */

/*
 * Intentionally NO:
 *
 * html { font-size: ... }
 * body { font-size: ... }
 * zoom: ...
 * transform: scale(...)
 */
