/* Shared page headings for Leads, Kontakte, Booking, Deals and Analyse.
   Isolated from table font scaling: Normal/Kompakt/Groß never resize page titles. */
:root {
    --app-page-title-color: #1a2f68;
    --app-page-title-size: 2rem;
    --app-page-header-gap: 16px;
    --app-page-header-spacing: 24px;
}
.app-page-title {
    color: var(--app-page-title-color) !important;
    font-size: var(--app-page-title-size) !important;
    font-weight: 800 !important;
    letter-spacing: -.025em;
    line-height: 1.2;
}
.app-page-header {
    margin-bottom: var(--app-page-header-spacing);
    gap: var(--app-page-header-gap);
}
@media (max-width: 576px) {
    .app-page-title { font-size: 1.65rem !important; }
    .app-page-header { margin-bottom: 16px; gap: 12px; }
}

/* Simple read-only CRM lists (Blacklist and Kein Interesse). */
.app-simple-list-filter { background: white; border: 1px solid #e0e9fa; border-radius: 20px; padding: 22px; margin-bottom: 22px; }
.app-simple-list-search { max-width: 520px; }
.app-simple-list-table { width: 100%; overflow-x: auto; }
.app-simple-list-table .table {
    width: 100%;
    min-width: 700px;
    border-collapse: separate;
    border-spacing: 0 12px;
    background: transparent !important;
    vertical-align: middle;
    font-size: calc(14px * var(--app-table-font-scale, 1));
}
.app-simple-list-table .table thead th {
    padding: 16px 12px !important;
    font-size: calc(12.5px * var(--app-table-font-scale, 1));
    vertical-align: middle;
    white-space: nowrap;
}
.app-simple-list-table .table thead th:first-child {
    border-left: 1px solid var(--app-table-header-border);
    border-radius: 18px 0 0 18px;
}
.app-simple-list-table .table thead th:last-child {
    border-right: 1px solid var(--app-table-header-border);
    border-radius: 0 18px 18px 0;
}
.app-simple-list-table .table tbody tr > td {
    padding: 16px 12px !important;
    border-top: 1px solid var(--app-table-row-border);
    border-bottom: 1px solid var(--app-table-row-border);
    background: #fff !important;
    vertical-align: middle;
}
.app-simple-list-table .table tbody tr > td:first-child {
    border-left: 1px solid var(--app-table-row-border);
    border-radius: 18px 0 0 18px;
}
.app-simple-list-table .table tbody tr > td:last-child {
    border-right: 1px solid var(--app-table-row-border);
    border-radius: 0 18px 18px 0;
}
.app-simple-list-table .table tbody tr:hover > td {
    background: var(--app-table-row-hover-background) !important;
}


/* Shared contextual guidance beside CRM page headings. */
.app-page-help {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}
.app-page-help-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--app-table-header-border, #e0e7f6);
    border-radius: 50%;
    background: #fff;
    color: var(--app-page-title-color, #1a2f68);
    cursor: pointer;
    list-style: none;
}
.app-page-help-trigger::-webkit-details-marker { display: none; }
.app-page-help-trigger:hover,
.app-page-help-trigger:focus-visible {
    background: var(--app-table-header-background, #f5f8ff);
    outline-offset: 2px;
}
.app-page-help-content {
    display: none;
    position: absolute;
    z-index: 30;
    top: calc(100% + 9px);
    left: 0;
    width: min(350px, calc(100vw - 48px));
    padding: 14px 16px;
    border: 1px solid var(--app-table-header-border, #e0e7f6);
    border-radius: 12px;
    background: #fff;
    color: #344054;
    box-shadow: 0 8px 28px rgba(28, 44, 79, 0.14);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.55;
    white-space: normal;
}
.app-page-help[open] .app-page-help-content,
.app-page-help:hover .app-page-help-content,
.app-page-help:focus-within .app-page-help-content {
    display: block;
}
@media (max-width: 576px) {
    .app-page-help-content { left: auto; right: -45px; }
}
