/* Eén regelafstand voor alle tabellen, ook bij oude pagina-eigen stijlen. */
.crm table th,.crm table td{line-height:1.35!important}
/* Een gewone gegevensregel is minimaal 37px; meerregelige inhoud groeit mee. */
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table)>tbody>tr{height:37px}
/* De onderste regel sluit ieder gegevensoverzicht over de volle breedte af. */
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table)>tbody>tr:last-child>:is(th,td),
.crm #agenda-app .agenda-list-table>tbody>tr:last-child>:is(th,td){border-bottom:1px solid #cbdde5}
/* Compacte gegevensrijen; formulieren en werkbalken behouden hun bediening. */
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) th,.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td{padding:4px 8px;font-size:12px;line-height:1.35;vertical-align:middle;border-right:1px solid #edf1f4}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) th{padding-top:6px;padding-bottom:6px;background:#f3f8fb;font-size:11px}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) th:last-child,.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td:last-child{border-right:0}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) tbody tr:nth-child(even){background:#f8fbfd}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) tbody tr:hover{background:#edf6fb}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-badge{padding:2px 6px;font-size:11px;line-height:1.35}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td p{margin:2px 0;line-height:1.35}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td small{margin-top:2px;font-size:11px;line-height:1.35}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-actions,.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-form-actions{gap:4px;margin:0}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .btn{min-height:28px;padding:4px 7px;font-size:11px;line-height:1.35;margin:0}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td :is(.crm-table-action,.crm-mail-icon,.crm-icon-button){width:28px;height:28px;min-width:28px;min-height:28px;flex-basis:28px;padding:5px;margin:0}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td :is(.crm-table-action,.crm-mail-icon,.crm-icon-button) svg{width:16px;height:16px;flex-basis:16px}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td :is(.crm-table-action-row,.crm-queue-actions){gap:4px}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-link{font-size:12px;line-height:1.35}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td details{margin:0}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td summary{cursor:pointer}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td details[open]>p{max-height:240px;overflow:auto;margin-top:5px}
/* Status, datum en de bestaande mailpopup delen nu een enkele regel. */
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) .crm-contribution-list-button{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:2px 4px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--kea-blue,#0872a9);font:inherit;white-space:nowrap;cursor:pointer;text-align:left}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) .crm-contribution-list-button:hover{background:#eaf3f9;border-color:#c7dce8}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) .crm-contribution-list-button:focus-visible{outline:2px solid var(--kea-blue,#0872a9);outline-offset:2px}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) .crm-contribution-list-button .crm-contribution-status{padding:2px 5px;font-size:11px;line-height:1.35;gap:4px}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) .crm-contribution-list-button svg{flex:none}
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) .crm-contribution-list-date{font-size:11px;font-variant-numeric:tabular-nums}
/* Ook op tablet blijven lidmaatschappen een horizontaal schuifbare tabel. */
.crm .crm-main table.crm-memberships-table{display:table;width:100%;min-width:1000px}
.crm .crm-main .crm-memberships-table thead{display:table-header-group;position:static;width:auto;height:auto;overflow:visible;clip:auto}
.crm .crm-main .crm-memberships-table tbody{display:table-row-group}
.crm .crm-main .crm-memberships-table tr{display:table-row;width:auto;padding:0}
.crm .crm-main .crm-memberships-table th,.crm .crm-main .crm-memberships-table td[data-label]{display:table-cell;width:auto;max-width:none;border-bottom:1px solid #edf1f4;white-space:nowrap}
.crm .crm-main .crm-memberships-table td[data-label]::before{content:none}
.crm .crm-main .crm-memberships-table th:last-child{display:table-cell}
.crm .crm-main .crm-memberships-table td[data-label="Organisatie"],.crm .crm-main .crm-memberships-table td[data-label="Lidmaatschap"]{max-width:280px;white-space:normal;overflow-wrap:anywhere}
/* Logboeken delen de compacte regelhoogte; details blijven uitklapbaar. */
.crm[data-crm-page="960-logboek.php"] .crm-main .crm-table td:first-child,.crm[data-crm-page="052-factuurmails.php"] .crm-main .crm-table td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.crm .crm-contribution-timeline li{padding:5px 0;gap:8px;font-size:11px}
.crm .crm-contribution-timeline p,.crm .crm-contribution-timeline small{margin:2px 0;font-size:11px;line-height:1.35}
.crm .crm-contribution-timeline time{font-size:11px;line-height:1.35}
.crm .crm-main .crm-contribution-grid small{margin-top:2px;line-height:1.35}
.crm .crm-main .crm-contribution-grid .crm-contribution-cell{min-height:28px}
/* Actief blijft direct aanklikbaar; het pijltje opent de certificeringskeuze. */
.crm-status-split{display:flex;align-items:stretch;position:relative;max-width:100%}
.crm .crm-main .crm-status-split>a.btn{border-radius:6px 0 0 6px;gap:5px}
.crm-status-dropdown{position:relative}
.crm .crm-main .crm-status-dropdown>summary.btn{display:flex;align-items:center;justify-content:center;list-style:none;width:32px;min-height:44px;padding:0;border-left:0;border-radius:0 6px 6px 0;cursor:pointer;box-sizing:border-box}
.crm-status-dropdown>summary::-webkit-details-marker{display:none}
.crm-status-dropdown>summary::before{display:none!important}
.crm-status-dropdown[open]>summary svg{transform:rotate(180deg)}
.crm .crm-main .crm-status-split.is-selected summary.btn{background:var(--kea-blue,#0872a9);color:#fff;border-color:var(--kea-blue,#0872a9)}
.crm-status-subselection{font-size:11px;font-weight:400}
.crm-status-subselection::before{content:': ';}
.crm .crm-main .crm-status-dropdown>nav{position:absolute;top:calc(100% + 5px);left:0;z-index:30;min-width:235px;max-width:calc(100vw - 40px);padding:5px;border:1px solid #cbdde5;border-radius:7px;background:#fff;box-shadow:0 8px 24px #073f7022}
.crm .crm-main .crm-status-dropdown>nav a{display:block;padding:8px 10px;border-radius:4px;color:var(--kea-blue,#0872a9);background:#fff;text-decoration:none;white-space:normal;font-size:13px;line-height:1.35}
.crm .crm-main .crm-status-dropdown>nav a:hover{background:#edf6fb}
.crm .crm-main .crm-status-dropdown>nav a[aria-current=page]{color:#fff;background:var(--kea-blue,#0872a9)}
.crm .crm-main .crm-status-dropdown>nav a::before{display:none}
@media(max-width:1024px),(pointer:coarse){
 .crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .btn,.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-contribution-list-button{min-height:44px}
 .crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td :is(.crm-table-action,.crm-mail-icon,.crm-icon-button){width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px;padding:12px}
 .crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-link,.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td summary{display:inline-flex;align-items:center;min-height:36px}
 .crm .crm-main .crm-status-dropdown>summary.btn{width:44px}
 .crm .crm-main .crm-status-dropdown>nav a{display:flex;align-items:center;box-sizing:border-box;min-height:44px}
}
@media(max-width:680px){
 .crm .crm-main .crm-status-split{flex:1 1 auto}
 .crm .crm-main .crm-status-split>a.btn{flex:1 1 auto}
 .crm .crm-main .crm-status-dropdown>nav{left:auto;right:0;min-width:220px}
}

/* Het oog is dezelfde compacte knop op iedere pagina en in iedere popup. */
.crm .crm-open-eye,
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-open-eye,
.crm #agenda-app .agenda-list-table .crm-open-eye{
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 width:28px;height:28px;min-width:28px;min-height:28px;flex:0 0 28px;padding:5px;margin:0;
 border:1px solid #cbdde8;border-radius:5px;background:#fff;color:var(--kea-blue,#0872a9);
 font-size:12px;line-height:1.35;text-decoration:none;vertical-align:middle;cursor:pointer
}
.crm .crm-open-eye::before,.crm .crm-open-eye::after{content:none!important;display:none!important}
.crm summary.crm-open-eye{list-style:none}
.crm summary.crm-open-eye::marker{content:''}
.crm summary.crm-open-eye::-webkit-details-marker{display:none}
.crm :is(.crm-main,dialog) td.crm-open-action-cell{text-align:right;white-space:nowrap}
.crm .crm-open-eye svg,.crm #agenda-app .agenda-list-table .crm-open-eye svg{display:block;width:16px;height:16px;flex:0 0 16px;margin:0}
.crm .crm-open-eye:hover{background:#eaf3f9;border-color:var(--kea-blue,#0872a9)}
.crm .crm-open-eye:focus-visible{outline:2px solid var(--kea-blue,#0872a9);outline-offset:2px}
.crm tr.crm-row-openable{cursor:pointer}
.crm tr.crm-row-openable:hover,.crm tr.crm-row-openable:focus-within{background:#edf6fb}
/* Agenda heeft eigen ID-stijlen; ook die gebruikt dezelfde basismaat. */
.crm #agenda-app .agenda-list-table th,.crm #agenda-app .agenda-list-table td{padding:4px 8px;font-size:12px;vertical-align:middle}
.crm #agenda-app .agenda-list-table th{padding-top:6px;padding-bottom:6px;font-size:11px}
.crm #agenda-app .agenda-list-table td.crm-open-action-cell{text-align:right}
.crm #agenda-app .agenda-list-kind{line-height:1.35}
@media(max-width:1024px),(pointer:coarse){
 .crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table)>tbody>tr{height:53px}
 .crm .crm-open-eye,
 .crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-open-eye,
 .crm #agenda-app .agenda-list-table .crm-open-eye{width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px;padding:12px}
 .crm .crm-main .crm-contribution-grid .crm-contribution-cell{min-height:44px}
}
/* Bestaande mobiele kaartweergaven behouden automatische hoogte. */
@media(max-width:700px){
 .crm :is(.crm-main,dialog) :is(.crm-table,.crm-year-plan-table)>tbody>tr{height:auto}
 .crm .crm-main .crm-memberships-table>tbody>tr{height:53px}
}
/* Rustige inzienknop, gelijk in lijsten en popups. */
.crm .crm-open-eye,
.crm :is(.crm-main,dialog) :is(.crm-table,.agenda-list-table,.crm-contribution-grid,.crm-year-plan-table) td .crm-open-eye,
.crm #agenda-app .agenda-list-table .crm-open-eye{
 width:24px;height:24px;min-width:24px;min-height:24px;flex:0 0 24px;padding:3px;
 border-color:#e1e9ee;background:transparent;color:#8ca4b5;line-height:1
}
.crm .crm-open-eye:hover,.crm .crm-open-eye:focus-visible{color:#47718b;background:#f3f7fa;border-color:#c6d6e1}
