:root{
    --bg:#f5f7fb;
    --card:#ffffff;
    --text:#1f2937;
    --muted:#6b7280;
    --line:#dbe2ea;
    --accent:#1d4ed8;
    --accent-dark:#1e3a8a;
    --shadow:0 10px 25px rgba(0,0,0,.08);
    --radius:14px;
    --pf-bg:#f5f7fb;
    --pf-surface:#ffffff;
    --pf-surface-soft:#f8fafc;
    --pf-text:#1f2937;
    --pf-text-strong:#0f172a;
    --pf-muted:#64748b;
    --pf-line:#dbe2ea;
    --pf-line-strong:#cbd5e1;
    --pf-primary:#1d4ed8;
    --pf-primary-hover:#1e3a8a;
    --pf-success:#16a34a;
    --pf-success-soft:#f0fdf4;
    --pf-warning:#f97316;
    --pf-warning-soft:#fff7ed;
    --pf-danger:#dc2626;
    --pf-danger-soft:#fef2f2;
    --pf-info:#2563eb;
    --pf-info-soft:#eff6ff;
    --pf-radius-sm:8px;
    --pf-radius:10px;
    --pf-radius-lg:14px;
    --pf-radius-xl:18px;
    --pf-shadow-card:0 8px 22px rgba(15,23,42,.06);
    --pf-shadow-soft:0 1px 4px rgba(15,23,42,.04);
    --pf-gap:14px;
}

/* === PFARRAMT CARD-FIRST FOUNDATION V1 === */
.pf-main{
    display:grid;
    gap:var(--pf-gap);
}

.pf-main > h1:first-child{
    margin-bottom:4px;
}

.pf-main > form,
.pf-main > table,
.pf-main > .pf-note,
.pf-main > .pf-toolbar{
    margin-top:0;
}

.pf-main > table{
    border:1px solid var(--pf-line);
    border-radius:var(--pf-radius-lg);
    box-shadow:var(--pf-shadow-card);
    overflow:hidden;
}

.pf-section{
    margin:0;
}

.pf-section > .pf-card__body > form,
.pf-section > form{
    margin:0;
}

.pf-topbar,
.pf-main,
.pf-card,
.pf-section,
.pf-note,
.pf-toolbar,
.pf-filterbar,
.pf-table,
.pf-start-tile,
.pf-user-start-tile{
    border-color:var(--pf-line);
}

/* Bridge existing module islands onto the shared card language. */
.konf-card,
.konf-compact-card,
.konf-listitem,
.jk-card,
.jk-panel,
.jk-list-card,
.ve-card,
.ve-top-actions,
.verst-card,
.kas-taufe-box,
.kas-card,
.proto-card,
.sak-card,
.kasse-card,
.pf-user-rights-box,
.bm-card{
    background:var(--pf-surface);
    border:1px solid var(--pf-line);
    border-radius:var(--pf-radius-lg);
    box-shadow:var(--pf-shadow-soft);
}

.konf-card,
.konf-compact-card,
.jk-card,
.jk-panel,
.ve-card,
.verst-card,
.kas-taufe-box,
.kas-card,
.proto-card,
.sak-card,
.kasse-card,
.pf-user-rights-box,
.bm-card{
    padding:14px;
}

.konf-note,
.verst-note,
.kasse-alert,
.bm-note{
    border-radius:var(--pf-radius);
}

.konf-actions,
.jk-actions,
.ve-actions,
.verst-actions,
.kas-actions,
.proto-actions,
.kasse-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.konf-btn,
.konf-cbtn,
.jk-btn,
.ve-btn,
.verst-btn,
.kas-btn-v5,
.kas-v6-btn,
.kas-v9-btn,
.kas-v10-btn,
.proto-btn,
.kasse-linkbtn,
.kasse-small-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:34px;
    padding:8px 11px;
    border:1px solid var(--pf-line-strong);
    border-radius:var(--pf-radius);
    background:#fff;
    color:var(--pf-text-strong);
    font-size:13px;
    font-weight:800;
    line-height:1.15;
    text-decoration:none;
    box-shadow:none;
}

.konf-btn:hover,
.konf-cbtn:hover,
.jk-btn:hover,
.ve-btn:hover,
.verst-btn:hover,
.kas-btn-v5:hover,
.kas-v6-btn:hover,
.kas-v9-btn:hover,
.kas-v10-btn:hover,
.proto-btn:hover,
.kasse-linkbtn:hover,
.kasse-small-btn:hover{
    background:var(--pf-surface-soft);
    color:var(--pf-text-strong);
    text-decoration:none;
}

.konf-btn.primary,
.konf-cbtn.primary,
.jk-btn.primary,
.ve-btn.primary,
.verst-btn.primary,
.proto-btn.primary,
.kasse-primary{
    background:var(--pf-primary);
    border-color:var(--pf-primary);
    color:#fff;
}

.konf-cbtn.green,
.konf-btn.green,
.green,
.ok{
    border-color:var(--pf-success);
}

.konf-cbtn.warm,
.konf-btn.warm,
.warm,
.orange{
    border-color:var(--pf-warning);
}

.konf-muted,
.konf-listmeta,
.jk-muted,
.ve-help,
.proto-muted,
.kasse-muted,
.ko-muted,
.sak-small-int{
    color:var(--pf-muted);
}

.konf-status-badge,
.pf-badge,
.jk-status,
.kasse-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    padding:4px 9px;
}

@media (max-width:760px){
    .pf-wrap{
        padding:10px;
    }

    .pf-main,
    .pf-card,
    .pf-section,
    .konf-card,
    .konf-compact-card,
    .jk-card,
    .ve-card,
    .kas-card,
    .proto-card,
    .kasse-card{
        border-radius:12px;
    }

    .pf-grid--2,
    .pf-grid--3{
        grid-template-columns:1fr;
    }

    .pf-card__header{
        display:block;
    }
}

*{box-sizing:border-box}

body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    background:var(--bg);
    color:var(--text);
}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.pf-wrap{
    max-width:1200px;
    margin:0 auto;
    padding:20px;
}

.pf-topbar{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:18px 20px;
    margin-bottom:18px;
}

.pf-topline{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.pf-brand{
    font-size:24px;
    font-weight:bold;
}

.pf-sub{
    margin-top:6px;
    color:var(--muted);
    font-size:14px;
}

.pf-user{
    color:var(--muted);
    font-size:14px;
}

.pf-nav{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:16px;
}

.pf-nav a{
    display:inline-block;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:var(--text);
}

.pf-nav a.active{
    background:var(--accent);
    color:#fff;
    border-color:var(--accent);
}

.pf-main{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:22px 20px;
}

h1{margin-top:0}

table{
    border-collapse:collapse;
    width:100%;
    background:#fff;
}

th,td{
    border:1px solid var(--line);
    padding:8px 10px;
}

th{
    background:#f8fafc;
}

input,
select,
textarea{
    padding:8px 10px;
    border:1px solid #cfd8e3;
    border-radius:8px;
    font:inherit;
}

button{
    background:var(--accent);
    color:#fff;
    border:0;
    border-radius:8px;
    padding:9px 12px;
    cursor:pointer;
}

button:hover{
    background:var(--accent-dark);
}

.pf-page{
    display:grid;
    gap:var(--pf-gap);
}

.pf-card,
.pf-section,
.pf-panel,
.pf-table-card,
.pf-list-card{
    background:var(--pf-surface);
    border:1px solid var(--pf-line);
    border-radius:var(--pf-radius-lg);
    box-shadow:var(--pf-shadow-card);
    padding:16px;
}

.pf-card + .pf-card,
.pf-section + .pf-section{
    margin-top:14px;
}

.pf-card__header,
.pf-section-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin:0 0 12px;
}

.pf-card__title,
.pf-section-title{
    margin:0 0 10px;
    color:var(--pf-text-strong);
    font-size:20px;
    line-height:1.2;
    font-weight:800;
}

.pf-card__subtitle,
.pf-card__meta,
.pf-muted{
    color:var(--pf-muted);
    font-size:13px;
    line-height:1.4;
}

.pf-card__body{
    min-width:0;
}

.pf-card__actions,
.pf-actions,
.pf-page-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.pf-page-actions{
    margin:12px 0 0;
}

.pf-grid{
    display:grid;
    gap:14px;
}

.pf-grid--2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.pf-grid--3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.pf-field{
    display:grid;
    gap:6px;
}

.pf-field--full{
    grid-column:1 / -1;
}

.pf-help{
    margin-top:6px;
    color:var(--pf-muted);
    font-size:12px;
}

.pf-checkline{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--pf-muted);
    font-size:14px;
}

.pf-span-2{ grid-column:span 2; }
.pf-span-3{ grid-column:span 3; }
.pf-span-4{ grid-column:span 4; }
.pf-span-5{ grid-column:span 5; }
.pf-span-9{ grid-column:span 9; }
.pf-span-12{ grid-column:span 12; }

.pf-mt-0{ margin-top:0; }
.pf-mt-4{ margin-top:4px; }
.pf-mt-6{ margin-top:6px; }
.pf-mt-10{ margin-top:10px; }
.pf-mt-12{ margin-top:12px; }
.pf-mt-14{ margin-top:14px; }
.pf-mt-16{ margin-top:16px; }
.pf-mb-14{ margin-bottom:14px; }
.pf-mb-16{ margin-bottom:16px; }
.pf-full{ width:100%; }
.pf-inline{ display:inline; }
.pf-ml-6{ margin-left:6px; }
.pf-max-460{ max-width:460px; }

.pf-module-shell{
    display:grid;
    gap:18px;
}

.pf-list-toolbar{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

.pf-data-table{
    width:100%;
}

.pf-data-table th:last-child,
.pf-data-table td:last-child{
    min-width:170px;
    white-space:nowrap;
}

.pf-row-actions{
    display:inline-flex;
    gap:8px;
    align-items:center;
    flex-wrap:nowrap;
    white-space:nowrap;
}

.pf-field--wide{
    grid-column:1 / -1;
    max-width:760px;
}

.pf-text-strong{
    color:var(--pf-text-strong);
    font-weight:700;
}

.pf-text-danger{
    color:var(--pf-danger);
    font-weight:700;
}

.pf-chip-warning{
    background:var(--pf-warning-soft);
    border-color:#fdba74;
    color:#9a3412;
}

.pf-list-page{
    display:grid;
    gap:16px;
}

.pf-list-head{
    display:grid;
    gap:14px;
}

.pf-list-head__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
}

.pf-list-title{
    margin:0;
    color:var(--pf-text-strong);
    font-size:24px;
    line-height:1.15;
    font-weight:850;
}

.pf-list-subtitle{
    margin:6px 0 0;
    color:var(--pf-muted);
    font-size:13px;
    line-height:1.4;
}

.pf-list-filters{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:12px;
    align-items:end;
}

.pf-list-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
}

.pf-list-count{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:6px 10px;
    border:1px solid var(--pf-line);
    border-radius:999px;
    background:var(--pf-surface-soft);
    color:var(--pf-muted);
    font-size:13px;
    font-weight:700;
}

.pf-list-card{
    border-radius:12px;
}

.pf-list-card__meta{
    margin:0 0 14px;
    color:var(--pf-muted);
    font-size:13px;
}

.pf-list-table{
    border-collapse:separate;
    border-spacing:0;
    width:100%;
    display:table;
    overflow:hidden;
}

.pf-list-table th,
.pf-list-table td{
    padding:12px 10px;
    border-bottom:1px solid #e6edf5;
    text-align:left;
    vertical-align:top;
    font-size:13px;
    line-height:1.35;
}

.pf-list-table th{
    background:#f8fafc;
    color:#475569;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.pf-list-table tbody tr:hover td{
    background:#fbfdff;
}

.pf-list-row-title{
    color:var(--pf-text-strong);
    font-weight:750;
}

.pf-list-row-muted{
    color:var(--pf-muted);
    font-size:12px;
}

.pf-list-row-stack{
    display:grid;
    gap:2px;
}

.pf-list-table--kasualien th:nth-child(1),
.pf-list-table--kasualien td:nth-child(1){ width:16%; min-width:150px; }
.pf-list-table--kasualien th:nth-child(2),
.pf-list-table--kasualien td:nth-child(2){ width:13%; min-width:130px; }
.pf-list-table--kasualien th:nth-child(3),
.pf-list-table--kasualien td:nth-child(3){ width:14%; min-width:130px; }
.pf-list-table--kasualien th:nth-child(4),
.pf-list-table--kasualien td:nth-child(4){ width:14%; min-width:130px; }
.pf-list-table--kasualien th:nth-child(5),
.pf-list-table--kasualien td:nth-child(5){ width:29%; min-width:230px; }
.pf-list-table--kasualien th:nth-child(6),
.pf-list-table--kasualien td:nth-child(6){ width:14%; min-width:190px; }

.pf-list-inline-card{
    display:block;
    text-align:left;
    line-height:1.35;
}
.pf-list-inline-card .pf-list-row-title{
    display:block;
    margin-bottom:4px;
}

.pf-list-inline-card .pf-list-row-muted{
    display:block;
}

.verstorbene-page{
    max-width:1440px;
    margin:0 auto;
    padding:18px;
}

.verstorbene-page .pf-list-table{
    min-width:980px;
    table-layout:auto;
}

.verstorbene-page .verst-live-search{
    grid-column:1 / -1;
    max-width:760px;
}

.verstorbene-page .verst-subgroup-row td{
    background:#f8fafc;
    color:#334155;
    font-size:13px;
    font-weight:800;
    border-top:1px solid var(--pf-line-strong);
    border-bottom:1px solid var(--pf-line-strong);
}

.pf-text-warning{
    color:#92400e;
}

@media (max-width: 900px){
    .pf-list-table{
        display:block;
        overflow:auto;
    }
    .pf-list-table th,
    .pf-list-table td{
        min-width:140px;
    }
    .pf-list-table th:last-child,
    .pf-list-table td:last-child{
        min-width:190px;
    }
}

.dok-field-card-panel{
    max-height:calc(100vh - 32px);
    overflow:auto;
}

.pf-start-page{
    max-width:1460px;
    margin:0 auto;
    padding:22px 22px 34px;
}

.pf-start-band{
    margin-bottom:18px;
}

.pf-start-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:14px;
}

.pf-start-grid--wide{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}

.pf-start-grid--compact{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:12px;
}

.pf-start-main-tile,
.pf-start-link-tile,
.pf-start-mini-tile{
    color:inherit;
    text-decoration:none;
}

.pf-start-main-tile{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:190px;
}

.pf-start-link-tile{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:148px;
}

.pf-start-mini-tile{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
    min-height:96px;
}

.pf-start-chip{
    display:inline-flex;
    align-items:center;
    padding:7px 10px;
    border-radius:999px;
    background:var(--pf-surface-soft);
    border:1px solid var(--pf-line);
    color:var(--pf-text);
    font-size:13px;
    font-weight:600;
    text-decoration:none;
}

.pf-start-list-link{
    display:block;
    padding:11px 12px;
    border:1px solid var(--pf-line);
    border-radius:12px;
    background:var(--pf-surface-soft);
    color:var(--pf-text-strong);
    text-decoration:none;
    font-weight:600;
}

.pf-field label,
.pf-label{
    color:var(--pf-text-strong);
    font-size:13px;
    font-weight:700;
}

.pf-input,
.pf-select,
.pf-textarea{
    width:100%;
    border:1px solid var(--pf-line-strong);
    border-radius:var(--pf-radius);
    background:#fff;
    color:var(--pf-text);
    font:inherit;
    padding:9px 11px;
}

.pf-input:focus,
.pf-select:focus,
.pf-textarea:focus,
input:focus,
select:focus,
textarea:focus{
    outline:2px solid #bfdbfe;
    outline-offset:1px;
    border-color:#60a5fa;
}

.pf-btn,
a.pf-btn,
button.pf-btn,
.pf-link-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    padding:8px 12px;
    border:1px solid var(--pf-line-strong);
    border-radius:var(--pf-radius);
    background:#fff;
    color:var(--pf-text-strong);
    font:inherit;
    font-size:13px;
    font-weight:800;
    line-height:1.15;
    text-decoration:none;
    cursor:pointer;
    box-shadow:none;
}

.pf-btn:hover,
a.pf-btn:hover,
button.pf-btn:hover,
.pf-link-button:hover{
    background:var(--pf-surface-soft);
    color:var(--pf-text-strong);
    text-decoration:none;
}

.pf-btn--sm{
    min-height:30px;
    padding:5px 8px;
    border-radius:7px;
    font-size:12px;
}

.pf-btn--primary,
.pf-link-button,
button.pf-btn--primary,
a.pf-btn--primary{
    background:var(--pf-primary);
    border-color:var(--pf-primary);
    color:#fff;
}

.pf-btn--primary:hover,
.pf-link-button:hover,
button.pf-btn--primary:hover,
a.pf-btn--primary:hover{
    background:var(--pf-primary-hover);
    border-color:var(--pf-primary-hover);
    color:#fff;
}

.pf-btn--success,
button.pf-btn--success,
a.pf-btn--success{
    background:var(--pf-success);
    border-color:var(--pf-success);
    color:#fff;
}

.pf-btn--warning,
button.pf-btn--warning,
a.pf-btn--warning{
    background:var(--pf-warning);
    border-color:var(--pf-warning);
    color:#fff;
}

.pf-btn--danger,
button.pf-btn--danger,
a.pf-btn--danger{
    background:var(--pf-danger);
    border-color:var(--pf-danger);
    color:#fff;
}

.pf-btn--ghost,
button.pf-btn--ghost,
a.pf-btn--ghost{
    background:#fff;
    border-color:var(--pf-line-strong);
    color:var(--pf-text-strong);
}

.pf-note{
    margin-top:16px;
    padding:12px 14px;
    border:1px solid #cfe0ff;
    background:#eef4ff;
    border-radius:10px;
    color:#24416b;
}

.pf-note{
    border-color:#bfdbfe;
    background:var(--pf-info-soft);
    color:#1e3a8a;
}

.pf-note--success{
    border-color:#bbf7d0;
    background:var(--pf-success-soft);
    color:#166534;
}

.pf-note--warning{
    border-color:#fed7aa;
    background:var(--pf-warning-soft);
    color:#9a3412;
}

.pf-note--danger,
.pf-note--error{
    border-color:#fecaca;
    background:var(--pf-danger-soft);
    color:#991b1b;
}

.pf-search-wrap{
    margin-top:12px;
    position:relative;
}

.pf-search-form{
    margin:0;
    position:relative;
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}

.pf-search-input{
    width:320px;
    max-width:100%;
}

.pf-suggest{
    position:absolute;
    top:44px;
    left:0;
    min-width:320px;
    max-width:520px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    box-shadow:var(--shadow);
    z-index:1000;
    overflow:hidden;
}

.pf-suggest-item{
    display:block;
    padding:10px 12px;
    color:var(--text);
    text-decoration:none;
    border-bottom:1px solid #eef2f7;
}

.pf-suggest-item:last-child{
    border-bottom:0;
}

.pf-suggest-item:hover{
    background:#f8fafc;
    text-decoration:none;
}

.pf-searchable-select-wrap{
    display:inline-block;
    min-width:320px;
    max-width:100%;
}

.pf-searchable-select-input{
    width:100%;
    margin-bottom:6px;
}

.pf-searchable-select{
    width:100%;
    min-width:320px;
    max-width:100%;
}


/* === FRIEDHOF FILTERBAR / BADGES === */
.pf-filterbar{
    margin:0 0 16px 0;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:0 6px 18px rgba(15,23,42,.05);
}

.pf-filterbar__head{
    margin-bottom:10px;
}

.pf-filterbar__title{
    font-size:14px;
    font-weight:700;
    color:var(--text);
    margin-bottom:3px;
}

.pf-filterbar__meta{
    font-size:12px;
    color:var(--muted);
}

.pf-filterchips{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.pf-filterchip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 12px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--text);
    font-size:13px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    transition:all .16s ease;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
}

.pf-filterchip:hover{
    text-decoration:none;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.pf-filterchip.is-active{
    color:#fff;
    border-color:transparent;
    box-shadow:0 10px 22px rgba(29,78,216,.22);
}

.pf-filterchip--frei.is-active{background:#2e7d32;}
.pf-filterchip--belegt.is-active{background:#c62828;}
.pf-filterchip--reserviert.is-active{background:#ef6c00;}
.pf-filterchip--abgelaufen.is-active{background:#616161;}
.pf-filterchip--ungeklärt.is-active,
.pf-filterchip--ungeklaert.is-active{background:#1565c0;}

.pf-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
}

.pf-badge--status{
    color:#fff;
    box-shadow:inset 0 -1px 0 rgba(255,255,255,.12);
}

.pf-badge--status.is-frei{background:#2e7d32;}
.pf-badge--status.is-belegt{background:#c62828;}
.pf-badge--status.is-reserviert{background:#ef6c00;}
.pf-badge--status.is-abgelaufen{background:#616161;}
.pf-badge--status.is-ungeklaert{background:#1565c0;}
.pf-badge--status.is-default{background:#555555;}


/* === PFARRAMT UI POLISH === */
.pf-toolbar{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:0 6px 18px rgba(15,23,42,.05);
}

.pf-input{
    font:inherit;
}

.pf-input--search{
    width:min(520px,100%);
    min-width:280px;
    padding:10px 12px;
    border:1px solid #cfd8e3;
    border-radius:10px;
    background:#fff;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.03);
}

.pf-link-muted{
    color:var(--muted);
    font-weight:600;
}

.pf-link-muted:hover{
    color:var(--text);
    text-decoration:none;
}

.pf-link-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 14px;
    border:1px solid var(--accent);
    border-radius:10px;
    background:var(--accent);
    color:#fff;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 8px 20px rgba(29,78,216,.18);
}

.pf-link-button:hover{
    background:var(--accent-dark);
    border-color:var(--accent-dark);
    text-decoration:none;
}

.pf-table{
    border-collapse:separate;
    border-spacing:0;
    width:100%;
    background:#fff;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:12px;
}

.pf-table th,
.pf-table td{
    border-right:0;
    border-left:0;
    padding:10px 12px;
    vertical-align:top;
}

.pf-table th{
    background:#f8fafc;
    color:#334155;
    font-size:13px;
    font-weight:700;
}

.pf-table tr + tr td{
    border-top:1px solid #eef2f7;
}

.pf-table tr:hover td{
    background:#fbfdff;
}

.pf-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

.pf-actions a{
    font-weight:600;
    white-space:nowrap;
}

.pf-resultbar{
    margin:8px 0 14px 0;
    font-size:14px;
    color:var(--muted);
}

.pf-resultbar strong{
    color:var(--text);
}

.pf-table td{
    line-height:1.35;
}

.pf-table td:first-child{
    font-weight:600;
    color:#334155;
}


/* mobile_start_clean_v1 */
.pf-start-mobile{
    display:none;
}

.pf-start-desktop{
    display:block;
}

@media (max-width:760px){
    .pf-topbar{
        padding:12px 14px 10px;
    }

    .pf-topline{
        gap:10px;
        align-items:flex-start;
    }

    .pf-brand{
        font-size:20px;
        line-height:1.1;
    }

    .pf-sub{
        font-size:13px;
        margin-top:2px;
    }

    .pf-user{
        font-size:14px;
        white-space:nowrap;
    }

    .pf-main{
        padding:0;
    }

    .pf-start-mobile{
        display:block;
    }

    .pf-start-desktop{
        display:none;
    }

    .pf-start-mobile-wrap{
        max-width:640px;
        margin:0 auto;
        padding:14px 14px 22px;
    }

    .pf-start-mobile-head{
        margin:0 0 12px;
    }

    .pf-start-mobile-kicker{
        font-size:12px;
        font-weight:700;
        letter-spacing:.08em;
        text-transform:uppercase;
        color:#64748b;
        margin:0 0 4px;
    }

    .pf-start-mobile-title{
        margin:0 0 4px;
        font-size:28px;
        line-height:1.04;
        letter-spacing:-0.03em;
        color:#0f172a;
    }

    .pf-start-mobile-sub{
        font-size:15px;
        line-height:1.35;
        color:#64748b;
    }

    .pf-start-mobile-grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .pf-start-tile{
        display:flex;
        align-items:center;
        gap:12px;
        min-height:88px;
        padding:14px;
        border:1px solid #e4eaf1;
        border-radius:18px;
        background:#fff;
        color:#0f172a;
        text-decoration:none;
        box-shadow:0 3px 12px rgba(15,23,42,.04);
    }

    .pf-start-tile.is-wide{
        grid-column:1 / -1;
        min-height:92px;
    }

    .pf-start-mobile-grid > .pf-start-tile:last-child:nth-child(odd){
        grid-column:1 / -1;
    }

    .pf-start-tile-icon{
        width:38px;
        height:38px;
        flex:0 0 38px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border-radius:12px;
        background:#f1f5f9;
        font-size:18px;
        line-height:1;
    }

    .pf-start-tile-body{
        display:block;
        min-width:0;
    }

    .pf-start-tile-title{
        display:block;
        font-size:17px;
        font-weight:800;
        line-height:1.12;
        color:#0f172a;
    }

    .pf-start-tile-sub{
        display:block;
        margin-top:3px;
        font-size:13px;
        line-height:1.3;
        color:#64748b;
    }

    .pf-start-mobile-empty{
        padding:14px;
        border:1px solid #e4eaf1;
        border-radius:18px;
        background:#fff;
        color:#475569;
        font-size:14px;
        line-height:1.4;
    }
}


/* user_start_mobile_clean_v1 */
.pf-user-start-wrap{
    max-width:920px;
    margin:0 auto;
    padding:18px 16px 28px;
}
.pf-user-start-head{
    margin:0 0 14px;
}
.pf-user-start-kicker{
    margin:0 0 4px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#64748b;
}
.pf-user-start-title{
    margin:0 0 4px;
    font-size:34px;
    line-height:1.04;
    letter-spacing:-0.03em;
    color:#0f172a;
}
.pf-user-start-sub{
    font-size:15px;
    line-height:1.4;
    color:#64748b;
}
.pf-user-start-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.pf-user-start-tile{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:92px;
    padding:14px 15px;
    border:1px solid #e4eaf1;
    border-radius:18px;
    background:#fff;
    color:#0f172a;
    text-decoration:none;
    box-shadow:0 3px 12px rgba(15,23,42,.04);
}
.pf-user-start-tile-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#f1f5f9;
    font-size:18px;
    line-height:1;
}
.pf-user-start-tile-body{
    display:block;
    min-width:0;
}
.pf-user-start-tile-title{
    display:block;
    font-size:17px;
    font-weight:800;
    line-height:1.12;
    color:#0f172a;
}
.pf-user-start-tile-sub{
    display:block;
    margin-top:3px;
    font-size:13px;
    line-height:1.3;
    color:#64748b;
}
.pf-user-start-empty{
    padding:14px;
    border:1px solid #e4eaf1;
    border-radius:18px;
    background:#fff;
    color:#475569;
    font-size:14px;
    line-height:1.4;
}

@media (max-width:860px){
    .pf-mod-user_start .pf-topbar{
        padding:12px 14px 10px;
    }

    .pf-mod-user_start .pf-topline{
        gap:10px;
        align-items:flex-start;
    }

    .pf-mod-user_start .pf-brand{
        font-size:20px;
        line-height:1.1;
    }

    .pf-mod-user_start .pf-sub{
        font-size:13px;
        margin-top:2px;
    }

    .pf-mod-user_start .pf-user{
        font-size:14px;
        white-space:nowrap;
    }

    .pf-mod-user_start .pf-main{
        padding:0;
    }

    .pf-user-start-wrap{
        padding:12px 14px 22px;
    }

    .pf-user-start-title{
        font-size:28px;
    }

    .pf-user-start-grid{
        gap:10px;
    }

    .pf-user-start-tile.is-wide{
        grid-column:1 / -1;
    }

    .pf-user-start-grid > .pf-user-start-tile:last-child:nth-child(odd){
        grid-column:1 / -1;
    }
}

/* Kasualportal mobil */
.kasual-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:14px;
}
.kasual-tile{
  display:block;
  padding:14px 16px;
  border-radius:14px;
  background:#f8fafc;
  color:#0f172a;
  text-decoration:none;
  font-weight:700;
  font-size:17px;
  line-height:1.3;
  border:1px solid #dbe3ee;
  box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.kasual-tile:active{
  transform:translateY(1px);
}
.kasual-main{
  background:#1d4ed8;
  color:#fff;
  border-color:#1d4ed8;
}

/* bekanntmachungen_force_mobile_v1 */
@media (max-width: 980px){
  body.pf-mod-bekanntmachungen .pf-wrap{
    max-width:none !important;
    padding:8px !important;
  }

  body.pf-mod-bekanntmachungen .pf-topbar{
    padding:10px 12px !important;
  }

  body.pf-mod-bekanntmachungen .pf-main{
    padding:6px !important;
    border:none !important;
    box-shadow:none !important;
    background:transparent !important;
  }

  body.pf-mod-bekanntmachungen h1{
    font-size:42px !important;
    line-height:1.08 !important;
    margin:0 0 14px !important;
    letter-spacing:-0.03em !important;
  }

  body.pf-mod-bekanntmachungen .bm-wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    font-size:24px !important;
    line-height:1.7 !important;
  }

  body.pf-mod-bekanntmachungen .bm-list,
  body.pf-mod-bekanntmachungen .bm-panel{
    padding:18px !important;
    border-radius:22px !important;
  }

  body.pf-mod-bekanntmachungen .bm-list a{
    display:block !important;
    padding:20px 18px !important;
    border-radius:18px !important;
    margin:0 0 14px !important;
  }

  body.pf-mod-bekanntmachungen .bm-title{
    font-size:32px !important;
    line-height:1.28 !important;
    margin:0 0 6px !important;
    font-weight:800 !important;
  }

  body.pf-mod-bekanntmachungen .bm-meta{
    font-size:24px !important;
    line-height:1.55 !important;
    margin-top:6px !important;
  }

  body.pf-mod-bekanntmachungen .bm-card{
    padding:18px !important;
    border-radius:18px !important;
    margin:0 0 14px !important;
  }

  body.pf-mod-bekanntmachungen .bm-card h3{
    font-size:26px !important;
    line-height:1.3 !important;
    margin:0 0 12px !important;
  }

  body.pf-mod-bekanntmachungen .bm-note,
  body.pf-mod-bekanntmachungen .bm-note a,
  body.pf-mod-bekanntmachungen .bm-kas-list,
  body.pf-mod-bekanntmachungen .bm-kas-list li{
    font-size:24px !important;
    line-height:1.7 !important;
  }

  body.pf-mod-bekanntmachungen .bm-kas-list{
    padding-left:26px !important;
  }
}

.verstorbene-page .pf-list-card{
    overflow-x:auto;
}
.verstorbene-page .pf-row-actions{
    display:inline-flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:6px;
}
.verstorbene-page .pf-list-filters .pf-field,
.verstorbene-page .pf-list-filters > div{
    min-width:0;
}
.verstorbene-page .pf-list-filters input,
.verstorbene-page .pf-list-filters select{
    width:100%;
}

/* Pfarramt list action colors: shared, quiet action language for table/list modules. */
.pf-btn.pf-btn--primary,
a.pf-btn.pf-btn--primary,
button.pf-btn.pf-btn--primary{
    background:#2563eb;
    border-color:#1d4ed8;
    color:#fff;
}
.pf-btn.pf-btn--success,
a.pf-btn.pf-btn--success,
button.pf-btn.pf-btn--success,
.pf-btn.green,
a.pf-btn.green,
button.pf-btn.green{
    background:#16a34a;
    border-color:#15803d;
    color:#fff;
}
.pf-btn.pf-btn--warning,
a.pf-btn.pf-btn--warning,
button.pf-btn.pf-btn--warning,
.pf-btn.orange,
a.pf-btn.orange,
button.pf-btn.orange{
    background:#f97316;
    border-color:#ea580c;
    color:#fff;
}
.pf-btn.yellow,
a.pf-btn.yellow,
button.pf-btn.yellow{
    background:#facc15;
    border-color:#eab308;
    color:#1f2937;
}
.pf-btn.pf-btn--danger,
a.pf-btn.pf-btn--danger,
button.pf-btn.pf-btn--danger{
    background:#dc2626;
    border-color:#b91c1c;
    color:#fff;
}
.pf-btn.pf-btn--ghost,
a.pf-btn.pf-btn--ghost,
button.pf-btn.pf-btn--ghost{
    background:#eef6ff;
    border-color:#bfdbfe;
    color:#1d4ed8;
}
/* Verstorbene list module bridge: mirrors the currently accepted card/list layout centrally. */
.verstorbene-page{
    max-width:1440px;
    margin:0 auto;
    padding:18px;
    color:var(--pf-text-strong);
    font-family:Arial,Helvetica,sans-serif;
    background:var(--pf-bg);
}
.verstorbene-page *{ box-sizing:border-box; }
.verstorbene-page a{ color:var(--pf-primary); text-decoration:none; }
.verstorbene-page a:hover{ text-decoration:underline; }
.verstorbene-page .pf-module-shell,
.verstorbene-page.pf-list-page,
.verstorbene-page .pf-list-page{ display:grid; gap:16px; }
.verstorbene-page .pf-card,
.verstorbene-page .pf-list-card{
    background:var(--pf-surface);
    border:1px solid var(--pf-line);
    border-radius:var(--pf-radius-lg);
    box-shadow:var(--pf-shadow-card);
    padding:16px;
    overflow-x:auto;
}
.verstorbene-page .pf-list-head{ display:grid; gap:14px; }
.verstorbene-page .pf-list-head__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.verstorbene-page .pf-list-title{ margin:0; color:var(--pf-text-strong); font-size:24px; line-height:1.15; font-weight:800; }
.verstorbene-page .pf-list-subtitle{ margin:6px 0 0; color:var(--pf-muted); font-size:13px; line-height:1.4; }
.verstorbene-page .pf-list-filters{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; align-items:end; }
.verstorbene-page .pf-field{ display:grid; gap:6px; }
.verstorbene-page label{ display:block; margin:0 0 6px; color:#334155; font-size:13px; font-weight:700; }
.verstorbene-page input,
.verstorbene-page select{ width:100%; max-width:100%; padding:8px 10px; border:1px solid #cfd8e3; border-radius:8px; background:#fff; color:var(--pf-text-strong); font:inherit; }
.verstorbene-page .pf-list-actions{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:0; }
.verstorbene-page .pf-btn,
.verstorbene-page button.pf-btn,
.verstorbene-page a.pf-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:8px 12px; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:var(--pf-text-strong); font:inherit; font-size:13px; font-weight:700; line-height:1.1; text-decoration:none; cursor:pointer; white-space:nowrap; }
.verstorbene-page .pf-btn:hover{ text-decoration:none; filter:brightness(.98); }
.verstorbene-page .pf-btn--primary{ background:#2563eb; border-color:#1d4ed8; color:#fff; }
.verstorbene-page .pf-btn--success,
.verstorbene-page .pf-btn.green{ background:var(--pf-success); border-color:#15803d; color:#fff; }
.verstorbene-page .pf-btn--warning,
.verstorbene-page .pf-btn.orange{ background:var(--pf-warning); border-color:#ea580c; color:#fff; }
.verstorbene-page .pf-btn.yellow{ background:#facc15; border-color:#eab308; color:#1f2937; }
.verstorbene-page .pf-btn--danger{ background:var(--pf-danger); border-color:#b91c1c; color:#fff; }
.verstorbene-page .pf-btn--ghost{ background:#eef6ff; border-color:#bfdbfe; color:#1d4ed8; }
.verstorbene-page .pf-list-count{ display:inline-flex; align-items:center; min-height:32px; padding:6px 10px; border:1px solid var(--pf-line); border-radius:999px; background:var(--pf-surface-soft); color:var(--pf-muted); font-size:13px; font-weight:700; }
.verstorbene-page .pf-list-card__meta{ margin:0 0 14px; color:var(--pf-muted); font-size:13px; }
.verstorbene-page .pf-list-table{ border-collapse:separate; border-spacing:0; width:100%; min-width:980px; background:#fff; table-layout:auto; }
.verstorbene-page .pf-list-table th,
.verstorbene-page .pf-list-table td{ padding:12px 10px; border:0; border-bottom:1px solid #e6edf5; text-align:left; vertical-align:top; font-size:13px; line-height:1.35; }
.verstorbene-page .pf-list-table th{ background:#f8fafc; color:#475569; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.verstorbene-page .pf-list-table tbody tr:hover td{ background:#fbfdff; }
.verstorbene-page .pf-list-row-title{ display:block; color:var(--pf-text-strong); font-weight:700; margin-bottom:4px; }
.verstorbene-page .pf-list-row-muted{ display:block; color:var(--pf-muted); font-size:12px; }
.verstorbene-page .pf-row-actions{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; min-width:170px; }
.verstorbene-page .verst-badge{ display:inline-block; padding:3px 8px; border-radius:999px; background:#fff7ed; border:1px solid #fed7aa; color:#c2410c; font-size:12px; font-weight:700; }
.verstorbene-page .verst-note{ color:var(--pf-muted); font-size:13px; }
.verstorbene-page .verst-live-search{ grid-column:1 / -1; max-width:760px; }
.verstorbene-page .verst-subgroup-row td{ background:#f8fafc; color:#334155; font-size:13px; font-weight:800; border-top:1px solid var(--pf-line-strong); border-bottom:1px solid var(--pf-line-strong); }
@media(max-width:900px){
    .verstorbene-page{ padding:12px; }
    .verstorbene-page .pf-list-table{ display:block; overflow:auto; min-width:0; }
    .verstorbene-page .pf-list-table th,
    .verstorbene-page .pf-list-table td{ min-width:140px; }
    .verstorbene-page .pf-list-table th:last-child,
    .verstorbene-page .pf-list-table td:last-child{ min-width:190px; }
}
/* === PFARRAMTS-SOFTWARE UI SYSTEM V2: shared module compatibility ===
   This layer keeps existing module class names but gives them one calmer card,
   form, button, table and notice language. It deliberately avoids changing
   specialist layout mechanics such as calendars, receipt previews and PDFs. */
:root{
    --pf-attention:#facc15;
    --pf-action-blue:#2563eb;
    --pf-action-blue-soft:#eef6ff;
    --pf-action-green:#16a34a;
    --pf-action-orange:#f97316;
    --pf-action-red:#dc2626;
}

body:not(.pf-mod-kasse) .pf-main{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    display:grid !important;
    gap:16px !important;
}

body:not(.pf-mod-kasse) .pf-main > h1:first-child{
    margin:0 !important;
    color:var(--pf-text-strong) !important;
    font-size:28px !important;
    line-height:1.15 !important;
    font-weight:850 !important;
}

body:not(.pf-mod-kasse) .pf-card,
body:not(.pf-mod-kasse) .pf-section,
body:not(.pf-mod-kasse) .pf-panel,
body:not(.pf-mod-kasse) .pf-table-card,
body:not(.pf-mod-kasse) .pf-list-card,
body:not(.pf-mod-kasse) .pf-note,
body:not(.pf-mod-kasse) .pf-toolbar,
body:not(.pf-mod-kasse) .pf-filterbar,
body:not(.pf-mod-kasse) .konf-card,
body:not(.pf-mod-kasse) .konf-compact-card,
body:not(.pf-mod-kasse) .konf-listitem,
body:not(.pf-mod-kasse) .jk-card,
body:not(.pf-mod-kasse) .jk-panel,
body:not(.pf-mod-kasse) .jk-list-card,
body:not(.pf-mod-kasse) .jk-personenliste-card,
body:not(.pf-mod-kasse) .ve-card,
body:not(.pf-mod-kasse) .ve-top-actions,
body:not(.pf-mod-kasse) .ve-focus-panel,
body:not(.pf-mod-kasse) .ve-feed-filterbox,
body:not(.pf-mod-kasse) .ve-feed-copybox,
body:not(.pf-mod-kasse) .kas-card,
body:not(.pf-mod-kasse) .kas-taufe-box,
body:not(.pf-mod-kasse) .proto-card,
body:not(.pf-mod-kasse) .sak-card,
body:not(.pf-mod-kasse) .pf-user-rights-box,
body:not(.pf-mod-kasse) .pf-user-password-box,
body:not(.pf-mod-kasse) .bm-card,
body:not(.pf-mod-kasse) .verst-card{
    background:var(--pf-surface) !important;
    border:1px solid var(--pf-line) !important;
    border-radius:var(--pf-radius-lg) !important;
    box-shadow:var(--pf-shadow-card) !important;
}

body:not(.pf-mod-kasse) .pf-card,
body:not(.pf-mod-kasse) .pf-section,
body:not(.pf-mod-kasse) .pf-panel,
body:not(.pf-mod-kasse) .pf-table-card,
body:not(.pf-mod-kasse) .pf-list-card,
body:not(.pf-mod-kasse) .pf-toolbar,
body:not(.pf-mod-kasse) .pf-filterbar,
body:not(.pf-mod-kasse) .konf-card,
body:not(.pf-mod-kasse) .konf-compact-card,
body:not(.pf-mod-kasse) .konf-listitem,
body:not(.pf-mod-kasse) .jk-card,
body:not(.pf-mod-kasse) .jk-panel,
body:not(.pf-mod-kasse) .jk-list-card,
body:not(.pf-mod-kasse) .jk-personenliste-card,
body:not(.pf-mod-kasse) .ve-card,
body:not(.pf-mod-kasse) .ve-top-actions,
body:not(.pf-mod-kasse) .ve-focus-panel,
body:not(.pf-mod-kasse) .ve-feed-filterbox,
body:not(.pf-mod-kasse) .ve-feed-copybox,
body:not(.pf-mod-kasse) .kas-card,
body:not(.pf-mod-kasse) .kas-taufe-box,
body:not(.pf-mod-kasse) .proto-card,
body:not(.pf-mod-kasse) .sak-card,
body:not(.pf-mod-kasse) .pf-user-rights-box,
body:not(.pf-mod-kasse) .pf-user-password-box,
body:not(.pf-mod-kasse) .bm-card,
body:not(.pf-mod-kasse) .verst-card{
    padding:16px !important;
}

body:not(.pf-mod-kasse) .pf-card__title,
body:not(.pf-mod-kasse) .pf-section-title,
body:not(.pf-mod-kasse) .konf-title,
body:not(.pf-mod-kasse) .konf-compact-title,
body:not(.pf-mod-kasse) .konf-listtitle,
body:not(.pf-mod-kasse) .jk-title,
body:not(.pf-mod-kasse) .proto-title,
body:not(.pf-mod-kasse) .ve-focus-title,
body:not(.pf-mod-kasse) .ve-week-overview-title{
    color:var(--pf-text-strong) !important;
    font-weight:850 !important;
    letter-spacing:0 !important;
    line-height:1.2 !important;
}

body:not(.pf-mod-kasse) .pf-muted,
body:not(.pf-mod-kasse) .konf-muted,
body:not(.pf-mod-kasse) .konf-listmeta,
body:not(.pf-mod-kasse) .konf-listtext,
body:not(.pf-mod-kasse) .konf-smallmeta,
body:not(.pf-mod-kasse) .jk-muted,
body:not(.pf-mod-kasse) .pf-benutzer-meta,
body:not(.pf-mod-kasse) .ve-calendar-subline,
body:not(.pf-mod-kasse) .ve-focus-sub,
body:not(.pf-mod-kasse) .ve-week-overview-sub{
    color:var(--pf-muted) !important;
}

body:not(.pf-mod-kasse) .pf-field,
body:not(.pf-mod-kasse) .pf-user-rights-field{
    display:grid !important;
    gap:6px !important;
    min-width:0 !important;
}

body:not(.pf-mod-kasse) .pf-label,
body:not(.pf-mod-kasse) label.pf-label,
body:not(.pf-mod-kasse) .pf-user-rights-field label,
body:not(.pf-mod-kasse) .konf-form-grid label{
    color:#334155 !important;
    font-size:13px !important;
    font-weight:750 !important;
    line-height:1.25 !important;
}

body:not(.pf-mod-kasse) .pf-input,
body:not(.pf-mod-kasse) .pf-select,
body:not(.pf-mod-kasse) .pf-textarea,
body:not(.pf-mod-kasse) input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body:not(.pf-mod-kasse) select,
body:not(.pf-mod-kasse) textarea{
    border:1px solid #cbd5e1 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:var(--pf-text-strong) !important;
    padding:8px 10px !important;
    font:inherit !important;
    box-shadow:none !important;
}

body:not(.pf-mod-kasse) .pf-input:focus,
body:not(.pf-mod-kasse) .pf-select:focus,
body:not(.pf-mod-kasse) .pf-textarea:focus,
body:not(.pf-mod-kasse) input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,
body:not(.pf-mod-kasse) select:focus,
body:not(.pf-mod-kasse) textarea:focus{
    outline:2px solid rgba(37,99,235,.18) !important;
    border-color:#93c5fd !important;
}

body:not(.pf-mod-kasse) .pf-actions,
body:not(.pf-mod-kasse) .pf-card__actions,
body:not(.pf-mod-kasse) .pf-page-actions,
body:not(.pf-mod-kasse) .konf-actions,
body:not(.pf-mod-kasse) .kas-v6-actions,
body:not(.pf-mod-kasse) .kas-v9-actions,
body:not(.pf-mod-kasse) .kas-v10-actions,
body:not(.pf-mod-kasse) .ve-scope-actions,
body:not(.pf-mod-kasse) .ve-calendar-actions{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
}

body:not(.pf-mod-kasse) .pf-btn,
body:not(.pf-mod-kasse) a.pf-btn,
body:not(.pf-mod-kasse) button.pf-btn,
body:not(.pf-mod-kasse) .konf-btn,
body:not(.pf-mod-kasse) .konf-cbtn,
body:not(.pf-mod-kasse) .jk-btn,
body:not(.pf-mod-kasse) .kas-btn-v5,
body:not(.pf-mod-kasse) .kas-v6-btn,
body:not(.pf-mod-kasse) .kas-v9-btn,
body:not(.pf-mod-kasse) .kas-v10-btn,
body:not(.pf-mod-kasse) .ve-font-btn,
body:not(.pf-mod-kasse) .ve-list-more-btn,
body:not(.pf-mod-kasse) .pf-user-rights-btn,
body:not(.pf-mod-kasse) .pf-benutzer-kompakt-action,
body:not(.pf-mod-kasse) .proto-btn,
body:not(.pf-mod-kasse) .verst-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:8px 12px !important;
    border:1px solid #cbd5e1 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:var(--pf-text-strong) !important;
    font:inherit !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    text-decoration:none !important;
    box-shadow:none !important;
    cursor:pointer !important;
    white-space:nowrap !important;
}

body:not(.pf-mod-kasse) .pf-btn--primary,
body:not(.pf-mod-kasse) .primary,
body:not(.pf-mod-kasse) .konf-btn.primary,
body:not(.pf-mod-kasse) .kas-v6-btn.primary,
body:not(.pf-mod-kasse) .kas-v9-btn.primary,
body:not(.pf-mod-kasse) .kas-v10-btn.primary{
    background:var(--pf-action-blue) !important;
    border-color:#1d4ed8 !important;
    color:#fff !important;
}

body:not(.pf-mod-kasse) .pf-btn--success,
body:not(.pf-mod-kasse) .green,
body:not(.pf-mod-kasse) .konf-btn.green{
    background:var(--pf-action-green) !important;
    border-color:#15803d !important;
    color:#fff !important;
}

body:not(.pf-mod-kasse) .pf-btn--warning,
body:not(.pf-mod-kasse) .orange,
body:not(.pf-mod-kasse) .warm{
    background:var(--pf-action-orange) !important;
    border-color:#ea580c !important;
    color:#fff !important;
}

body:not(.pf-mod-kasse) .yellow{
    background:var(--pf-attention) !important;
    border-color:#eab308 !important;
    color:#1f2937 !important;
}

body:not(.pf-mod-kasse) .pf-btn--danger,
body:not(.pf-mod-kasse) .pf-note--danger button,
body:not(.pf-mod-kasse) .kas-v6-btn.danger,
body:not(.pf-mod-kasse) .kas-v9-btn.danger,
body:not(.pf-mod-kasse) .kas-v10-btn.danger{
    background:var(--pf-action-red) !important;
    border-color:#b91c1c !important;
    color:#fff !important;
}

body:not(.pf-mod-kasse) .pf-btn--ghost,
body:not(.pf-mod-kasse) .secondary,
body:not(.pf-mod-kasse) .kas-v6-btn-muted,
body:not(.pf-mod-kasse) .kas-v9-btn-muted,
body:not(.pf-mod-kasse) .kas-v10-btn-muted,
body:not(.pf-mod-kasse) .kas-btn-muted-v5{
    background:var(--pf-action-blue-soft) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body:not(.pf-mod-kasse) .pf-table,
body:not(.pf-mod-kasse) table.pf-table,
body:not(.pf-mod-kasse) .pf-data-table,
body:not(.pf-mod-kasse) .konf-compact-table,
body:not(.pf-mod-kasse) .jk-table{
    width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:12px !important;
}

body:not(.pf-mod-kasse) .pf-table th,
body:not(.pf-mod-kasse) .pf-table td,
body:not(.pf-mod-kasse) .pf-data-table th,
body:not(.pf-mod-kasse) .pf-data-table td,
body:not(.pf-mod-kasse) .konf-compact-table th,
body:not(.pf-mod-kasse) .konf-compact-table td,
body:not(.pf-mod-kasse) .jk-table th,
body:not(.pf-mod-kasse) .jk-table td{
    border:0 !important;
    border-bottom:1px solid #e6edf5 !important;
    padding:10px 12px !important;
    text-align:left !important;
    vertical-align:top !important;
    line-height:1.35 !important;
}

body:not(.pf-mod-kasse) .pf-table th,
body:not(.pf-mod-kasse) .pf-data-table th,
body:not(.pf-mod-kasse) .konf-compact-table th,
body:not(.pf-mod-kasse) .jk-table th{
    background:#f8fafc !important;
    color:#475569 !important;
    font-size:11px !important;
    font-weight:850 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
}

body:not(.pf-mod-kasse) .pf-note,
body:not(.pf-mod-kasse) .konf-note,
body:not(.pf-mod-kasse) .ve-empty-note,
body:not(.pf-mod-kasse) .kasse-alert,
body:not(.pf-mod-kasse) .bm-note{
    border-radius:10px !important;
    box-shadow:none !important;
    padding:12px 14px !important;
}

body:not(.pf-mod-kasse) .pf-note--success,
body:not(.pf-mod-kasse) .kasse-ok{
    background:var(--pf-success-soft) !important;
    border-color:#bbf7d0 !important;
    color:#166534 !important;
}

body:not(.pf-mod-kasse) .pf-note--warning,
body:not(.pf-mod-kasse) .pf-chip-warning{
    background:var(--pf-warning-soft) !important;
    border-color:#fed7aa !important;
    color:#9a3412 !important;
}

body:not(.pf-mod-kasse) .pf-note--danger,
body:not(.pf-mod-kasse) .pf-note--error,
body:not(.pf-mod-kasse) .kasse-err{
    background:var(--pf-danger-soft) !important;
    border-color:#fecaca !important;
    color:#991b1b !important;
}

body.pf-mod-kasse .kasse-card,
body.pf-mod-kasse .kasse-alert{
    border-radius:14px !important;
    border:1px solid var(--pf-line) !important;
    box-shadow:var(--pf-shadow-card) !important;
}

body.pf-mod-kasse .kasse-input,
body.pf-mod-kasse .kasse-select{
    border-radius:9px !important;
    border:1px solid #cbd5e1 !important;
    font:inherit !important;
}

body.pf-mod-kasse .kasse-btn,
body.pf-mod-kasse .kasse-linkbtn,
body.pf-mod-kasse .kasse-small-btn,
body.pf-mod-kasse .kasse-primary,
body.pf-mod-kasse .kasse-direct-sale-btn{
    border-radius:9px !important;
    font-weight:800 !important;
    text-decoration:none !important;
}

@media (max-width:760px){
    body:not(.pf-mod-kasse) .pf-card,
    body:not(.pf-mod-kasse) .pf-section,
    body:not(.pf-mod-kasse) .konf-card,
    body:not(.pf-mod-kasse) .konf-compact-card,
    body:not(.pf-mod-kasse) .jk-card,
    body:not(.pf-mod-kasse) .jk-panel,
    body:not(.pf-mod-kasse) .ve-card,
    body:not(.pf-mod-kasse) .kas-card,
    body:not(.pf-mod-kasse) .proto-card,
    body:not(.pf-mod-kasse) .sak-card,
    body:not(.pf-mod-kasse) .verst-card{
        padding:12px !important;
        border-radius:12px !important;
    }
}
/* Shared placeholder pages for modules that are already registered but not fully implemented. */
.pf-placeholder-page{
    max-width:900px;
    margin:0 auto;
}
.pf-placeholder-card .pf-card__subtitle{
    max-width:720px;
}
.pf-note--info{
    background:var(--pf-info-soft);
    border-color:#bfdbfe;
    color:#1e3a8a;
}

/* Standalone auth pages that render outside the normal Pfarramts-Software header. */
body.pf-auth-page{
    margin:0;
    background:var(--pf-bg);
    color:var(--pf-text);
    font:16px/1.5 var(--pf-font);
}
body.pf-auth-page .wrap{
    max-width:720px;
    margin:42px auto;
    padding:0 18px;
}
body.pf-auth-page .card{
    background:var(--pf-surface);
    border:1px solid var(--pf-line);
    border-radius:var(--pf-radius-lg);
    padding:24px;
    box-shadow:var(--pf-shadow-card);
}
body.pf-auth-page h1{
    margin:0 0 10px;
    color:var(--pf-text-strong);
    font-size:28px;
    line-height:1.15;
    font-weight:850;
}
body.pf-auth-page p{
    margin:0 0 14px;
    color:var(--pf-muted);
    line-height:1.55;
}
body.pf-auth-page label{
    display:block;
    margin:14px 0 6px;
    color:#334155;
    font-size:14px;
    font-weight:800;
}
body.pf-auth-page input,
body.pf-auth-page select{
    width:100%;
    box-sizing:border-box;
    padding:12px 14px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;
    color:var(--pf-text-strong);
    font:inherit;
}
body.pf-auth-page button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:16px;
    min-height:42px;
    padding:12px 16px;
    border:1px solid #1d4ed8;
    border-radius:12px;
    background:var(--pf-action-blue);
    color:#fff;
    font:inherit;
    font-weight:850;
    cursor:pointer;
}
body.pf-auth-page a{
    color:#1d4ed8;
    font-weight:800;
}
body.pf-auth-page .err,
body.pf-auth-page .ok,
body.pf-auth-page .hint,
body.pf-auth-page .hint-warn,
body.pf-auth-page .verify{
    padding:12px 14px;
    border-radius:12px;
    margin:12px 0;
}
body.pf-auth-page .err{
    border:1px solid #fecaca;
    background:var(--pf-danger-soft);
    color:#991b1b;
}
body.pf-auth-page .ok{
    border:1px solid #bbf7d0;
    background:var(--pf-success-soft);
    color:#166534;
}
body.pf-auth-page .hint,
body.pf-auth-page .verify{
    border:1px solid #bfdbfe;
    background:var(--pf-info-soft);
    color:#1e3a8a;
}
body.pf-auth-page .hint{
    font-size:14px;
}
body.pf-auth-page .hint-warn{
    border:1px solid #fed7aa;
    background:var(--pf-warning-soft);
    color:#9a3412;
    font-size:14px;
    font-weight:650;
}
body.pf-auth-page .verify{
    word-break:break-all;
}
body.pf-auth-page .back{
    margin-top:14px;
}

/* Small module bridges: keep existing markup, move the visual language here. */
body:not(.pf-mod-kasse) .ko-wrap,
body:not(.pf-mod-kasse) .pfs-wrap,
body:not(.pf-mod-kasse) .sp-wrap{
    max-width:1180px;
    width:100%;
}
body:not(.pf-mod-kasse) .ko-wrap{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:18px;
}
body:not(.pf-mod-kasse) .pfs-topbar,
body:not(.pf-mod-kasse) .sp-head-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin:0 0 14px;
}
body:not(.pf-mod-kasse) .ko-card,
body:not(.pf-mod-kasse) .pfs-card,
body:not(.pf-mod-kasse) .pfs-tile,
body:not(.pf-mod-kasse) .sp-head,
body:not(.pf-mod-kasse) .sp-card{
    background:var(--pf-surface) !important;
    border:1px solid var(--pf-line) !important;
    border-radius:var(--pf-radius-lg) !important;
    box-shadow:var(--pf-shadow-card) !important;
    padding:16px !important;
}
body:not(.pf-mod-kasse) .pfs-card,
body:not(.pf-mod-kasse) .sp-head,
body:not(.pf-mod-kasse) .sp-card{
    margin-bottom:14px !important;
}
body:not(.pf-mod-kasse) .ko-list,
body:not(.pf-mod-kasse) .sp-file-list{
    display:grid;
    gap:10px;
}
body:not(.pf-mod-kasse) .ko-list a,
body:not(.pf-mod-kasse) .sp-file{
    display:block;
    border:1px solid var(--pf-line) !important;
    border-radius:12px !important;
    background:#fff !important;
    color:var(--pf-text-strong) !important;
    padding:12px !important;
    text-decoration:none !important;
}
body:not(.pf-mod-kasse) .sp-file{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
}
body:not(.pf-mod-kasse) .ko-list a.active,
body:not(.pf-mod-kasse) .sp-tab.active,
body:not(.pf-mod-kasse) .sp-btn.primary{
    border-color:#1d4ed8 !important;
    background:var(--pf-action-blue) !important;
    color:#fff !important;
}
body:not(.pf-mod-kasse) .ko-muted,
body:not(.pf-mod-kasse) .pfs-tile p,
body:not(.pf-mod-kasse) .sp-muted,
body:not(.pf-mod-kasse) .sp-file-main small{
    color:var(--pf-muted) !important;
    font-size:13px !important;
    line-height:1.45 !important;
}
body:not(.pf-mod-kasse) .ko-grid,
body:not(.pf-mod-kasse) .pfs-section-grid,
body:not(.pf-mod-kasse) .pfs-grid,
body:not(.pf-mod-kasse) .sp-grid{
    display:grid;
    gap:12px;
}
body:not(.pf-mod-kasse) .ko-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
body:not(.pf-mod-kasse) .pfs-section-grid{
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    margin:0 0 18px;
}
body:not(.pf-mod-kasse) .pfs-grid{
    grid-template-columns:1.5fr 1fr 1fr 1fr auto;
    align-items:end;
}
body:not(.pf-mod-kasse) .sp-grid{
    grid-template-columns:minmax(0,1fr) minmax(260px,360px);
    gap:14px;
}
body:not(.pf-mod-kasse) .sp-tabs,
body:not(.pf-mod-kasse) .sp-actions,
body:not(.pf-mod-kasse) .sp-file-actions,
body:not(.pf-mod-kasse) .ko-actions,
body:not(.pf-mod-kasse) .pfs-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}
body:not(.pf-mod-kasse) .sp-file-actions{
    justify-content:flex-end;
    white-space:nowrap;
}
body:not(.pf-mod-kasse) .ko-btn,
body:not(.pf-mod-kasse) .pfs-start,
body:not(.pf-mod-kasse) .pfs-actions button,
body:not(.pf-mod-kasse) .sp-btn,
body:not(.pf-mod-kasse) .sp-tab,
body:not(.pf-mod-kasse) .sp-file-action,
body:not(.pf-mod-kasse) .sp-analyze-btn,
body:not(.pf-mod-kasse) .sp-delete-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:8px 12px !important;
    border:1px solid #cbd5e1 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:var(--pf-text-strong) !important;
    font:inherit !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    text-decoration:none !important;
    cursor:pointer !important;
    white-space:nowrap !important;
}
body:not(.pf-mod-kasse) .ko-btn:not(.ko-btn-sec),
body:not(.pf-mod-kasse) .pfs-actions button{
    background:var(--pf-action-blue) !important;
    border-color:#1d4ed8 !important;
    color:#fff !important;
}
body:not(.pf-mod-kasse) .ko-btn-sec,
body:not(.pf-mod-kasse) .pfs-start{
    background:var(--pf-action-blue-soft) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}
body:not(.pf-mod-kasse) .sp-delete-btn{
    border-color:#fecaca !important;
    color:#b91c1c !important;
}
body:not(.pf-mod-kasse) .ko-badge,
body:not(.pf-mod-kasse) .pfs-badge{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 10px;
    font-size:12px;
    font-weight:850;
    border:1px solid #bbf7d0;
    background:var(--pf-success-soft);
    color:#166534;
}
body:not(.pf-mod-kasse) .pfs-msg,
body:not(.pf-mod-kasse) .sp-note,
body:not(.pf-mod-kasse) .sp-empty{
    border-radius:12px !important;
    padding:12px 14px !important;
    margin:0 0 14px !important;
}
body:not(.pf-mod-kasse) .pfs-msg.ok,
body:not(.pf-mod-kasse) .sp-note{
    border:1px solid #bbf7d0 !important;
    background:var(--pf-success-soft) !important;
    color:#166534 !important;
}
body:not(.pf-mod-kasse) .pfs-msg.err,
body:not(.pf-mod-kasse) .sp-note.err{
    border:1px solid #fed7aa !important;
    background:var(--pf-warning-soft) !important;
    color:#9a3412 !important;
}
body:not(.pf-mod-kasse) .sp-empty{
    border:1px dashed var(--pf-line-strong) !important;
    background:var(--pf-surface-soft) !important;
    color:var(--pf-muted) !important;
}
body:not(.pf-mod-kasse) .ko-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}
body:not(.pf-mod-kasse) .ko-table th,
body:not(.pf-mod-kasse) .ko-table td{
    border-top:1px solid #e6edf5;
    padding:10px;
    vertical-align:top;
    text-align:left;
}
body:not(.pf-mod-kasse) .pfs-card label{
    display:block;
    color:#334155;
    font-size:13px;
    font-weight:800;
}
body:not(.pf-mod-kasse) .sp-form{
    display:grid;
    gap:8px;
}
body:not(.pf-mod-kasse) .sp-inline-form{
    margin:0;
    display:flex;
}
@media(max-width:900px){
    body:not(.pf-mod-kasse) .ko-wrap,
    body:not(.pf-mod-kasse) .pfs-grid,
    body:not(.pf-mod-kasse) .sp-grid{
        grid-template-columns:1fr;
    }
    body:not(.pf-mod-kasse) .sp-file{
        grid-template-columns:1fr;
        align-items:start;
    }
    body:not(.pf-mod-kasse) .sp-file-actions{
        justify-content:flex-start;
    }
}
/* Protokolle: complete the central proto-* bridge so the module no longer needs inline CSS. */
body:not(.pf-mod-kasse) .proto-wrap,
body:not(.pf-mod-kasse) .proto-toolbar{
    display:grid !important;
    gap:18px !important;
}
body:not(.pf-mod-kasse) .proto-wrap{
    grid-template-columns:1.05fr 1.25fr !important;
}
body:not(.pf-mod-kasse) .proto-toolbar{
    grid-template-columns:1fr 1fr !important;
    margin:0 0 18px !important;
}
body:not(.pf-mod-kasse) .proto-grid2{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
}
body:not(.pf-mod-kasse) .proto-field{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
}
body:not(.pf-mod-kasse) .proto-field label{
    color:#334155 !important;
    font-size:12px !important;
    font-weight:800 !important;
}
body:not(.pf-mod-kasse) .proto-field textarea{
    min-height:86px !important;
    resize:vertical !important;
}
body:not(.pf-mod-kasse) .proto-list,
body:not(.pf-mod-kasse) .proto-subtree,
body:not(.pf-mod-kasse) .proto-memberlist{
    display:grid !important;
    gap:10px !important;
}
body:not(.pf-mod-kasse) .proto-item,
body:not(.pf-mod-kasse) .proto-subcard,
body:not(.pf-mod-kasse) .proto-log,
body:not(.pf-mod-kasse) .proto-chip,
body:not(.pf-mod-kasse) .proto-checkitem,
body:not(.pf-mod-kasse) .proto-memberitem{
    border:1px solid var(--pf-line) !important;
    border-radius:12px !important;
    background:var(--pf-surface-soft) !important;
}
body:not(.pf-mod-kasse) .proto-item{
    border-radius:14px !important;
    background:#fbfdff !important;
}
body:not(.pf-mod-kasse) .proto-item > summary{
    list-style:none !important;
    cursor:pointer !important;
    padding:14px 16px !important;
    display:flex !important;
    justify-content:space-between !important;
    gap:12px !important;
    align-items:flex-start !important;
}
body:not(.pf-mod-kasse) .proto-item > summary::-webkit-details-marker,
body:not(.pf-mod-kasse) .proto-subitem > summary::-webkit-details-marker{
    display:none !important;
}
body:not(.pf-mod-kasse) .proto-item-body{
    padding:0 16px 16px !important;
}
body:not(.pf-mod-kasse) .proto-subcard,
body:not(.pf-mod-kasse) .proto-log,
body:not(.pf-mod-kasse) .proto-checkitem,
body:not(.pf-mod-kasse) .proto-memberitem{
    padding:10px 12px !important;
}
body:not(.pf-mod-kasse) .proto-subhead,
body:not(.pf-mod-kasse) .proto-chiprow{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    align-items:center !important;
}
body:not(.pf-mod-kasse) .proto-subhead{
    justify-content:space-between !important;
}
body:not(.pf-mod-kasse) .proto-text,
body:not(.pf-mod-kasse) .proto-subbody{
    white-space:pre-wrap !important;
    line-height:1.45 !important;
    color:#334155 !important;
}
body:not(.pf-mod-kasse) .proto-badge{
    display:inline-flex !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    background:#eef6ff !important;
    color:#1d4ed8 !important;
    font-size:12px !important;
    font-weight:800 !important;
}
body:not(.pf-mod-kasse) .proto-meta,
body:not(.pf-mod-kasse) .proto-log{
    color:var(--pf-muted) !important;
    font-size:12px !important;
}
body:not(.pf-mod-kasse) .proto-mini-form{
    display:inline-flex !important;
    margin:0 !important;
}
body:not(.pf-mod-kasse) .proto-mini-btn,
body:not(.pf-mod-kasse) .proto-chip-remove{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:32px !important;
    height:32px !important;
    border:1px solid #cbd5e1 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#1d4ed8 !important;
    font-weight:800 !important;
    cursor:pointer !important;
}
body:not(.pf-mod-kasse) .proto-chip{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    border-radius:999px !important;
    color:#334155 !important;
}
body:not(.pf-mod-kasse) .proto-chip-role{
    font-weight:850 !important;
}
body:not(.pf-mod-kasse) .proto-chip-remove{
    min-width:24px !important;
    height:24px !important;
    border-radius:999px !important;
    color:#b91c1c !important;
}
body:not(.pf-mod-kasse) .proto-checkgrid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
    gap:10px !important;
}
body:not(.pf-mod-kasse) .proto-checkitem{
    display:flex !important;
    align-items:flex-start !important;
    gap:8px !important;
}
body:not(.pf-mod-kasse) .proto-depth-1{ margin-left:18px !important; }
body:not(.pf-mod-kasse) .proto-depth-2{ margin-left:36px !important; }
@media(max-width:1100px){
    body:not(.pf-mod-kasse) .proto-wrap,
    body:not(.pf-mod-kasse) .proto-toolbar,
    body:not(.pf-mod-kasse) .proto-grid2{
        grid-template-columns:1fr !important;
    }
}
/* Legacy aliases for older module placeholders using generic class names. */
body:not(.pf-mod-kasse) .pf-main > .wrap,
body:not(.pf-mod-kasse) .pf-main .wrap{
    max-width:1100px !important;
    width:100% !important;
    margin:0 auto !important;
}
body:not(.pf-mod-kasse) .pf-main .card{
    background:var(--pf-surface) !important;
    border:1px solid var(--pf-line) !important;
    border-radius:var(--pf-radius-lg) !important;
    box-shadow:var(--pf-shadow-card) !important;
    padding:16px !important;
}
body:not(.pf-mod-kasse) .pf-main .hint{
    margin-top:12px !important;
    padding:12px 14px !important;
    border-radius:10px !important;
    background:var(--pf-info-soft) !important;
    border:1px solid #bfdbfe !important;
    color:#1e3a8a !important;
}
body:not(.pf-mod-kasse) .pf-main .actions{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:14px !important;
}
body:not(.pf-mod-kasse) .pf-main .btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:8px 12px !important;
    border:1px solid #bfdbfe !important;
    border-radius:9px !important;
    background:var(--pf-action-blue-soft) !important;
    color:#1d4ed8 !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

/* === PFARRAMTS-SOFTWARE GLOBAL DESIGN SYSTEM V1 ===
   Ziel: eine gemeinsame, smartphone-faehige Grundstruktur fuer alle Module.
   Diese Schicht ist bewusst strukturell: Layout, Abstaende, Karten, Formulare,
   Tabellen, Aktionen und Legacy-Adapter. Optische Feinheiten koennen spaeter
   zentral ueber die Tokens in :root angepasst werden. */
:root{
    --pf-app-max:1440px;
    --pf-page-pad:18px;
    --pf-page-pad-sm:10px;
    --pf-card-pad:16px;
    --pf-card-pad-sm:12px;
    --pf-control-h:38px;
    --pf-control-radius:9px;
    --pf-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    --pf-color-page:#f4f7fb;
    --pf-color-card:#ffffff;
    --pf-color-soft:#f8fafc;
    --pf-color-line:#dbe5f0;
    --pf-color-line-strong:#cbd5e1;
    --pf-color-text:#1f2937;
    --pf-color-heading:#0f172a;
    --pf-color-muted:#64748b;
    --pf-color-primary:#1d4ed8;
    --pf-color-primary-soft:#eef6ff;
    --pf-color-success:#16a34a;
    --pf-color-warning:#f97316;
    --pf-color-danger:#dc2626;
    --pf-focus:0 0 0 3px rgba(37,99,235,.18);
}

html{
    min-width:320px;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body[class^="pf-mod-"],
body[class*=" pf-mod-"]{
    background:var(--pf-color-page) !important;
    color:var(--pf-color-text) !important;
    font-family:var(--pf-font) !important;
}

.pf-wrap{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
}

.pf-topbar{
    background:var(--pf-color-card) !important;
    border-bottom:1px solid var(--pf-color-line) !important;
    box-shadow:0 1px 4px rgba(15,23,42,.04) !important;
}

.pf-topline,
.pf-page-actions,
.pf-main{
    width:min(100% - (2 * var(--pf-page-pad)), var(--pf-app-max)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.pf-main{
    display:grid !important;
    gap:16px !important;
    min-width:0 !important;
    padding:16px 0 32px !important;
}

.pf-main > h1:first-child,
.pf-page-title,
.pf-card__title,
.pf-section-title,
.konf-title,
.jk-title,
.kas-title,
.ve-title,
.proto-title,
.sak-title,
.verst-title{
    color:var(--pf-color-heading) !important;
    letter-spacing:0 !important;
    overflow-wrap:anywhere;
}

.pf-main > h1:first-child{
    margin:0 !important;
    font-size:clamp(24px, 3vw, 32px) !important;
    line-height:1.15 !important;
    font-weight:850 !important;
}

.pf-card,
.pf-section,
.pf-panel,
.pf-table-card,
.pf-list-card,
.pf-toolbar,
.pf-filterbar,
.pf-note,
.konf-card,
.konf-compact-card,
.konf-listitem,
.jk-card,
.jk-panel,
.jk-list-card,
.jk-personenliste-card,
.kas-card,
.kas-taufe-box,
.ve-card,
.ve-top-actions,
.ve-focus-panel,
.ve-feed-filterbox,
.ve-feed-copybox,
.proto-card,
.sak-card,
.pfs-card,
.pfs-tile,
.ko-card,
.sp-card,
.sp-head,
.pf-user-rights-box,
.pf-user-password-box,
.bm-card,
.verst-card,
.kasse-card{
    background:var(--pf-color-card) !important;
    border:1px solid var(--pf-color-line) !important;
    border-radius:14px !important;
    box-shadow:0 8px 22px rgba(15,23,42,.055) !important;
    min-width:0 !important;
}

.pf-card,
.pf-section,
.pf-panel,
.pf-table-card,
.pf-list-card,
.pf-toolbar,
.pf-filterbar,
.konf-card,
.konf-compact-card,
.konf-listitem,
.jk-card,
.jk-panel,
.jk-list-card,
.jk-personenliste-card,
.kas-card,
.kas-taufe-box,
.ve-card,
.ve-top-actions,
.ve-focus-panel,
.ve-feed-filterbox,
.ve-feed-copybox,
.proto-card,
.sak-card,
.pfs-card,
.pfs-tile,
.ko-card,
.sp-card,
.sp-head,
.pf-user-rights-box,
.pf-user-password-box,
.bm-card,
.verst-card,
.kasse-card{
    padding:var(--pf-card-pad) !important;
}

.pf-card__header,
.pf-section-header,
.pf-list-header,
.pf-toolbar,
.pf-filterbar,
.konf-head,
.jk-head,
.kas-head,
.ve-head,
.sp-head-row,
.pfs-topbar{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:12px !important;
    flex-wrap:wrap !important;
    min-width:0 !important;
}

.pf-grid,
.pf-form-grid,
.pf-filter-grid,
.konf-form-grid,
.jk-grid,
.kas-grid,
.ve-grid,
.proto-grid2,
.ko-grid,
.pfs-grid,
.sp-grid{
    display:grid !important;
    gap:12px !important;
    min-width:0 !important;
}

.pf-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.pf-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.pf-grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.pf-grid--auto{ grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)) !important; }

.pf-field,
.pf-form-field,
.konf-field,
.jk-field,
.kas-field,
.ve-field,
.proto-field{
    display:grid !important;
    gap:6px !important;
    min-width:0 !important;
}

.pf-label,
label.pf-label,
.pf-field label,
.pf-form-field label,
.konf-form-grid label,
.jk-field label,
.kas-field label,
.ve-field label,
.proto-field label,
.pfs-card label{
    color:#334155 !important;
    font-size:13px !important;
    font-weight:750 !important;
    line-height:1.25 !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
select,
textarea,
.pf-input,
.pf-select,
.pf-textarea,
.kasse-input,
.kasse-select,
.sp-input,
.sp-select{
    max-width:100% !important;
    min-height:var(--pf-control-h) !important;
    box-sizing:border-box !important;
    border:1px solid var(--pf-color-line-strong) !important;
    border-radius:var(--pf-control-radius) !important;
    background:#fff !important;
    color:var(--pf-color-heading) !important;
    padding:8px 10px !important;
    font:inherit !important;
    box-shadow:none !important;
}

textarea,
.pf-textarea{
    min-height:88px !important;
    resize:vertical !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible{
    outline:none !important;
    box-shadow:var(--pf-focus) !important;
}

.pf-actions,
.pf-card__actions,
.pf-page-actions,
.pf-list-toolbar,
.konf-actions,
.jk-actions,
.kas-actions,
.ve-actions,
.proto-actions,
.sak-actions,
.sp-actions,
.ko-actions,
.pfs-actions,
.kasse-actions,
.verst-actions{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    min-width:0 !important;
}

.pf-btn,
a.pf-btn,
button.pf-btn,
.konf-btn,
.konf-cbtn,
.jk-btn,
.kas-btn-v5,
.kas-v6-btn,
.kas-v9-btn,
.kas-v10-btn,
.ve-font-btn,
.ve-list-more-btn,
.proto-btn,
.sak-btn-primary,
.sak-btn-secondary,
.sp-btn,
.sp-tab,
.ko-btn,
.pfs-start,
.pfs-actions button,
.kasse-btn,
.kasse-linkbtn,
.kasse-small-btn,
.pf-user-rights-btn,
.pf-benutzer-kompakt-action,
.verst-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    max-width:100% !important;
    padding:8px 12px !important;
    border:1px solid var(--pf-color-line-strong) !important;
    border-radius:var(--pf-control-radius) !important;
    background:#fff !important;
    color:var(--pf-color-heading) !important;
    font:inherit !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    cursor:pointer !important;
}

.pf-btn--primary,
.primary,
.konf-btn.primary,
.kas-v6-btn.primary,
.kas-v9-btn.primary,
.kas-v10-btn.primary,
.sp-btn.primary,
.sp-tab.active,
.ko-btn:not(.ko-btn-sec),
.pfs-actions button,
.kasse-primary{
    background:var(--pf-color-primary) !important;
    border-color:#1d4ed8 !important;
    color:#fff !important;
}

.pf-btn--ghost,
.secondary,
.kas-v6-btn-muted,
.kas-v9-btn-muted,
.kas-v10-btn-muted,
.kas-btn-muted-v5,
.ko-btn-sec,
.pfs-start{
    background:var(--pf-color-primary-soft) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

.pf-btn--success,
.green{
    background:var(--pf-color-success) !important;
    border-color:#15803d !important;
    color:#fff !important;
}

.pf-btn--warning,
.orange,
.warm{
    background:var(--pf-color-warning) !important;
    border-color:#ea580c !important;
    color:#fff !important;
}

.pf-btn--danger,
.danger{
    background:var(--pf-color-danger) !important;
    border-color:#b91c1c !important;
    color:#fff !important;
}

.pf-note,
.pf-alert,
.konf-note,
.jk-note,
.kas-note,
.ve-empty-note,
.kasse-alert,
.bm-note,
.sp-note,
.pfs-msg{
    border-radius:12px !important;
    padding:12px 14px !important;
    border:1px solid var(--pf-color-line) !important;
    background:var(--pf-color-soft) !important;
    color:var(--pf-color-text) !important;
}

.pf-note--success,
.ok,
.kasse-ok{
    background:#f0fdf4 !important;
    border-color:#bbf7d0 !important;
    color:#166534 !important;
}

.pf-note--warning,
.hint-warn{
    background:#fff7ed !important;
    border-color:#fed7aa !important;
    color:#9a3412 !important;
}

.pf-note--danger,
.pf-note--error,
.err,
.kasse-err{
    background:#fef2f2 !important;
    border-color:#fecaca !important;
    color:#991b1b !important;
}

.pf-table-card,
.pf-list-shell,
.sak-list-shell,
.konf-table-wrap,
.jk-table-wrap,
.kasse-table-wrap{
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
}

table,
.pf-table,
.pf-data-table,
.konf-compact-table,
.jk-table,
.sak-list-table,
.ko-table{
    width:100% !important;
    max-width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    background:#fff !important;
}

th,
td,
.pf-table th,
.pf-table td,
.pf-data-table th,
.pf-data-table td{
    vertical-align:top !important;
    overflow-wrap:anywhere;
}

th,
.pf-table th,
.pf-data-table th{
    background:#f8fafc !important;
    color:#475569 !important;
    font-size:11px !important;
    font-weight:850 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
}

td,
.pf-table td,
.pf-data-table td{
    border-top:1px solid #e6edf5 !important;
}

img,
svg,
canvas,
video{
    max-width:100%;
    height:auto;
}

@media(max-width:1100px){
    .pf-grid--3,
    .pf-grid--4,
    .pfs-grid,
    .sp-grid,
    .proto-wrap,
    .proto-toolbar{
        grid-template-columns:1fr 1fr !important;
    }
}

@media(max-width:760px){
    :root{
        --pf-page-pad:var(--pf-page-pad-sm);
        --pf-card-pad:var(--pf-card-pad-sm);
    }

    .pf-topbar{
        padding:10px 0 !important;
    }

    .pf-topline,
    .pf-page-actions,
    .pf-main{
        width:calc(100% - (2 * var(--pf-page-pad-sm))) !important;
    }

    .pf-topline{
        align-items:flex-start !important;
        gap:8px !important;
    }

    .pf-brand{
        font-size:20px !important;
        line-height:1.1 !important;
    }

    .pf-sub,
    .pf-user{
        font-size:13px !important;
        line-height:1.25 !important;
    }

    .pf-main{
        gap:12px !important;
        padding:12px 0 24px !important;
    }

    .pf-card,
    .pf-section,
    .pf-panel,
    .pf-table-card,
    .pf-list-card,
    .pf-toolbar,
    .pf-filterbar,
    .konf-card,
    .konf-compact-card,
    .konf-listitem,
    .jk-card,
    .jk-panel,
    .jk-list-card,
    .jk-personenliste-card,
    .kas-card,
    .kas-taufe-box,
    .ve-card,
    .ve-top-actions,
    .ve-focus-panel,
    .proto-card,
    .sak-card,
    .pfs-card,
    .pfs-tile,
    .ko-card,
    .sp-card,
    .sp-head,
    .pf-user-rights-box,
    .pf-user-password-box,
    .bm-card,
    .verst-card,
    .kasse-card{
        border-radius:12px !important;
        padding:var(--pf-card-pad-sm) !important;
    }

    .pf-card__header,
    .pf-section-header,
    .pf-toolbar,
    .pf-filterbar,
    .sp-head-row,
    .pfs-topbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .pf-grid,
    .pf-grid--2,
    .pf-grid--3,
    .pf-grid--4,
    .pf-form-grid,
    .pf-filter-grid,
    .konf-form-grid,
    .jk-grid,
    .kas-grid,
    .ve-grid,
    .proto-grid2,
    .ko-wrap,
    .ko-grid,
    .pfs-grid,
    .pfs-section-grid,
    .sp-grid,
    .proto-wrap,
    .proto-toolbar{
        grid-template-columns:1fr !important;
    }

    .pf-span-2,
    .pf-span-3,
    .pf-span-4,
    .pf-span-5,
    .pf-span-9,
    .pf-span-12{
        grid-column:1 / -1 !important;
    }

    .pf-actions,
    .pf-card__actions,
    .pf-page-actions,
    .pf-list-toolbar,
    .konf-actions,
    .jk-actions,
    .kas-actions,
    .ve-actions,
    .proto-actions,
    .sak-actions,
    .sp-actions,
    .ko-actions,
    .pfs-actions,
    .kasse-actions,
    .verst-actions{
        align-items:stretch !important;
    }

    .pf-actions > *,
    .pf-card__actions > *,
    .pf-page-actions > *,
    .pf-list-toolbar > *,
    .konf-actions > *,
    .jk-actions > *,
    .kas-actions > *,
    .ve-actions > *,
    .proto-actions > *,
    .sak-actions > *,
    .sp-actions > *,
    .ko-actions > *,
    .pfs-actions > *,
    .kasse-actions > *,
    .verst-actions > *{
        flex:1 1 auto !important;
    }

    .pf-btn,
    a.pf-btn,
    button.pf-btn,
    .konf-btn,
    .konf-cbtn,
    .jk-btn,
    .kas-btn-v5,
    .kas-v6-btn,
    .kas-v9-btn,
    .kas-v10-btn,
    .ve-font-btn,
    .ve-list-more-btn,
    .proto-btn,
    .sak-btn-primary,
    .sak-btn-secondary,
    .sp-btn,
    .sp-tab,
    .ko-btn,
    .pfs-start,
    .pfs-actions button,
    .kasse-btn,
    .kasse-linkbtn,
    .kasse-small-btn,
    .pf-user-rights-btn,
    .pf-benutzer-kompakt-action,
    .verst-btn{
        min-height:40px !important;
        white-space:normal !important;
        text-align:center !important;
    }

    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
    select,
    textarea{
        width:100% !important;
        font-size:16px !important;
    }

    .pf-main table,
    .pf-table,
    .pf-data-table,
    .konf-compact-table,
    .jk-table,
    .sak-list-table,
    .ko-table{
        display:block !important;
        overflow-x:auto !important;
        white-space:normal !important;
        -webkit-overflow-scrolling:touch;
    }

    .pf-main table th,
    .pf-main table td{
        min-width:120px;
    }

    .pf-main table th:last-child,
    .pf-main table td:last-child{
        min-width:160px;
    }
}

@media(max-width:480px){
    .pf-main > h1:first-child{
        font-size:24px !important;
    }

    .pf-card__title,
    .pf-section-title{
        font-size:18px !important;
    }

    .pf-note,
    .pf-alert{
        font-size:13px !important;
    }
}


/* === PFARRAMTS-SOFTWARE EXTRACTED MODULE CSS V1 ===
   Lokale Modulstile, die ohne Logikänderung zentralisiert wurden.
   Diese Bloecke behalten die bisherigen Klassen und koennen spaeter sauber
   in die generischen pf-* Muster ueberfuehrt werden. */

/* extracted from module_scanpost.live.php */
.sp-wrap{max-width:1180px;margin:18px auto 40px;padding:0 16px;color:#283046;font:14px system-ui,Segoe UI,Roboto,Arial}
  .sp-head,.sp-card{background:#fff;border:1px solid #c2cbe4;border-radius:16px;box-shadow:0 6px 18px rgba(15,23,42,.08);padding:16px 18px;margin-bottom:14px}
  .sp-head-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
  .sp-head h1,.sp-card h2{margin:0 0 8px}
  .sp-muted{color:#6c7480;font-size:13px;line-height:1.45}
  .sp-org-select{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
  .sp-org-select label{font-weight:800;color:#374151}
  .sp-tabs,.sp-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .sp-btn,.sp-tab{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:10px;border:1px solid #c2cbe4;background:#fff;color:#283046;text-decoration:none;font-weight:800;cursor:pointer}
  .sp-tab.active,.sp-btn.primary{background:#315f8f;border-color:#315f8f;color:#fff}
  .sp-note{padding:10px 12px;border-radius:12px;border:1px solid #93d7a7;background:#eaf8ef;color:#155b2c;margin-bottom:12px}
  .sp-note.err{border-color:#f19999;background:#fde8e8;color:#7a1111}
  .sp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:14px}
  .sp-file-list{display:grid;gap:8px}
  .sp-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #d7deea;border-radius:12px;padding:12px 14px;background:#fff}
  .sp-file:hover{background:#f6f8fc}
  .sp-file-main{display:grid;gap:3px;min-width:0}
  .sp-file-main strong{overflow-wrap:anywhere;line-height:1.35}
  .sp-file-main small{color:#6c7480}
  .sp-file-actions{display:grid;grid-template-columns:repeat(3,max-content);align-items:center;justify-content:end;gap:8px;white-space:nowrap}
  .sp-file-action,.sp-analyze-btn,.sp-delete-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:10px;font-weight:800;line-height:1;text-decoration:none;cursor:pointer;background:#fff}
  .sp-file-action,.sp-analyze-btn{border:1px solid #2f6feb;color:#1d4ed8}
  .sp-file-action:hover,.sp-analyze-btn:hover{background:#eff6ff}
  .sp-inline-form{margin:0;display:flex}
  .sp-delete-btn{border:1px solid #d92d20;color:#b42318}
  .sp-delete-btn:hover{background:#fef3f2}
  .sp-empty{border:1px dashed #c2cbe4;border-radius:12px;background:#f6f8fc;color:#6c7480;padding:14px}
  .sp-form{display:grid;gap:8px}
  .sp-input,.sp-select{width:100%;padding:9px 10px;border:1px solid #c2cbe4;border-radius:10px;background:#fff}
  @media(max-width:820px){.sp-grid{grid-template-columns:1fr}.sp-file{grid-template-columns:1fr;align-items:start}.sp-file-actions{justify-content:start;grid-template-columns:repeat(3,max-content);max-width:100%;overflow-x:auto}}

/* extracted from module_personen.live.php */
.pf-person-admin-form{
    max-width:1360px !important;
}
.pf-person-admin-shell{
    display:grid;
    grid-template-columns:repeat(2,minmax(320px,1fr));
    gap:18px;
    margin-top:12px;
}
.pf-person-admin-card,
.pf-person-role-card{
    background:#ffffff;
    border:1px solid #dbe3ee;
    border-radius:22px;
    box-shadow:0 10px 30px rgba(15,23,42,.06);
    padding:20px 20px 18px;
}
.pf-person-admin-card.full{
    grid-column:1 / -1;
}
.pf-person-admin-card h3,
.pf-person-role-card h3{
    margin:0;
    font-size:20px;
    line-height:1.2;
    color:#0f172a;
}
.pf-person-admin-card p,
.pf-person-role-card p{
    margin:6px 0 0;
    color:#64748b;
    font-size:13px;
}
.pf-person-admin-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:14px 16px;
    margin-top:16px;
}
.pf-person-admin-field{
    min-width:0;
}
.pf-person-admin-field.full{
    grid-column:1 / -1;
}
.pf-person-admin-label{
    display:block;
    font-weight:700;
    color:#0f172a;
    margin-bottom:6px;
}
.pf-person-admin-control input[type="text"],
.pf-person-admin-control input[type="date"],
.pf-person-admin-control input[type="email"],
.pf-person-admin-control input[type="tel"],
.pf-person-admin-control input[type="number"],
.pf-person-admin-control select,
.pf-person-admin-control textarea{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    background:#fff;
    box-sizing:border-box;
    font:inherit;
}
.pf-person-admin-control textarea{
    min-height:110px;
    resize:vertical;
}
.pf-person-admin-form > table{
    display:none !important;
}
.pf-person-admin-form > div[style*="margin-top:14px"],
.pf-person-admin-form > div[style*="margin-top:20px"]{
    display:flex !important;
    gap:10px !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    margin-top:18px !important;
}
.pf-person-admin-form button,
.pf-person-admin-form a.pf-person-primary-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
}
.pf-person-admin-form button{
    border:1px solid #0f172a;
    background:#0f172a;
    color:#fff;
    font-weight:700;
    cursor:pointer;
}
.pf-person-role-card{
    margin-top:18px;
}
.pf-person-role-lines{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:16px;
}
.pf-person-role-line{
    display:block;
    padding:11px 13px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    color:#334155;
    font-weight:600;
}
.pf-person-role-empty{
    margin-top:16px;
    padding:11px 13px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    color:#64748b;
}
.pf-person-role-meta-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:14px 16px;
    margin-top:16px;
}
.pf-person-role-meta-item.full{
    grid-column:1 / -1;
}
.pf-person-role-select,
.pf-person-role-input,
.pf-person-role-textarea{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    background:#fff;
    box-sizing:border-box;
    font:inherit;
}
.pf-person-role-textarea{
    min-height:100px;
    resize:vertical;
}
.pf-person-role-edit-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:10px 14px;
    margin-top:16px;
}
.pf-person-role-check{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #d7e0ea;
    border-radius:14px;
    background:#fff;
    color:#0f172a;
    font-weight:600;
}
.pf-person-role-check input{
    width:18px;
    height:18px;
    margin:0;
}
.pf-person-role-hint{
    margin-top:12px;
    color:#64748b;
    font-size:13px;
}
.pf-person-role-subtitle{
    margin-top:16px;
    margin-bottom:8px;
    font-weight:700;
    color:#0f172a;
}
.pf-person-role-subgrid{
    display:grid;
    grid-template-columns:repeat(3,minmax(180px,1fr));
    gap:10px 14px;
}
.pf-person-role-subcheck{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:10px 12px;
    border:1px solid #d7e0ea;
    border-radius:14px;
    background:#f8fafc;
    color:#0f172a;
    font-weight:600;
}
.pf-person-role-subcheck input{
    width:18px;
    height:18px;
    margin:0;
}
@media (max-width:980px){
    .pf-person-admin-shell{
        grid-template-columns:1fr;
    }
    .pf-person-admin-card.full{
        grid-column:auto;
    }
}

/* extracted from module_vermietung.live.php */
.vh-edit-wrap{max-width:980px;margin:0 auto;padding:18px}
        .vh-edit-card{background:#fff;border:1px solid #dbe5f0;border-radius:20px;padding:18px;box-shadow:0 10px 26px rgba(15,23,42,.055)}
        .vh-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
        .vh-edit-card label{font-weight:850;color:#243447}
        .vh-edit-card input,.vh-edit-card select,.vh-edit-card textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:9px 11px;margin-top:5px;box-sizing:border-box}
        .vh-edit-card textarea{min-height:90px}
        .vh-edit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
        .vh-edit-actions button,.vh-edit-actions a{border:0;border-radius:999px;padding:10px 14px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
        .vh-edit-actions button{background:#0f766e;color:#fff;cursor:pointer}
        .vh-edit-actions a{background:#e2e8f0;color:#0f172a}
        .vh-edit-err{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:10px 12px;border-radius:12px;margin-bottom:12px;font-weight:800}
.vh-wrap{max-width:1180px}
.vh-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.vh-start-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;padding:8px 12px;font-weight:850;text-decoration:none}
.vh-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.vh-actions a,.vh-actions button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #99f6e4;background:#ecfdf5;color:#0f766e;padding:9px 14px;font-weight:850;text-decoration:none}
.vh-feed-box{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;margin:0 0 18px;padding:12px 14px;background:#fff;border:1px solid #dbe5f0;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.045)}
.vh-feed-box label{font-weight:900;color:#243447}
.vh-feed-box input{flex:1 1 520px;min-width:260px;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font-family:monospace;font-size:13px}
.vh-actions a.active{background:#0f766e;color:#fff;border-color:#0f766e}
.vh-msg{padding:12px 14px;border-radius:14px;margin:0 0 14px;font-weight:800}
.vh-msg.ok{background:#ecfdf5;border:1px solid #99f6e4;color:#0f766e}
.vh-msg.err{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.vh-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}
.vh-card{background:#fff;border:1px solid #dbe5f0;border-radius:20px;padding:15px;box-shadow:0 10px 26px rgba(15,23,42,.055)}
.vh-card h3{margin:0 0 8px;font-size:18px;color:#102033}
.vh-meta{display:grid;gap:5px;color:#334155;font-size:14px;line-height:1.35}
.vh-status{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;margin:0 0 9px}
.vh-status.open{background:#eef6ff;color:#174ea6}
.vh-status.ok{background:#ecfdf5;color:#0f766e}
.vh-status.warn{background:#fff7ed;color:#9a3412}
.vh-status.bad{background:#fef2f2;color:#991b1b}
.vh-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.vh-card-actions form{margin:0}
.vh-card-actions button,.vh-card-actions a{border:0;border-radius:999px;padding:8px 11px;font-weight:850;background:#0f766e;color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.vh-card-actions button.warn{background:#ea580c}
.vh-card-actions button.bad{background:#b91c1c}
.vh-block{background:#fff;border:1px solid #dbe5f0;border-radius:20px;padding:15px;margin:0 0 18px;box-shadow:0 10px 26px rgba(15,23,42,.055)}
.vh-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.vh-block label{font-weight:850;color:#243447}
.vh-block input,.vh-block textarea,.vh-block select{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:9px 11px;margin-top:5px}
.vh-block textarea{min-height:76px}
@media(max-width:700px){.vh-grid{grid-template-columns:1fr}.vh-card-actions button{width:100%}}

/* extracted from module_vermietung.live.php style attributes */
.vh-entry-panel{padding:0!important;overflow:hidden}
.vh-entry-panel summary{
  list-style:none;cursor:pointer;padding:15px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:18px;font-weight:950;color:#0f172a;
}
.vh-entry-panel summary::-webkit-details-marker{display:none}
.vh-entry-panel summary:after{
  content:"aufklappen";font-size:12px;font-weight:900;color:#0f766e;
  border:1px solid #99f6e4;background:#ecfdf5;border-radius:999px;padding:5px 10px;
}
.vh-entry-panel[open] summary{border-bottom:1px solid #e2e8f0}
.vh-entry-panel[open] summary:after{content:"zuklappen"}
.vh-entry-summary-sub{font-size:13px;font-weight:800;color:#64748b;margin-top:3px}
.vh-entry-body{padding:0 18px 18px}
.vh-series-panel{background:#fff;border:1px solid #dbe5f0;border-radius:22px;padding:18px;margin:14px 0 22px;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.vh-series-panel h2{margin:0 0 14px;font-size:22px;color:#0f172a}
.vh-series-panel{padding:0!important;overflow:hidden}
.vh-series-panel summary{
  list-style:none;cursor:pointer;padding:15px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:18px;font-weight:950;color:#0f172a;
}
.vh-series-panel summary::-webkit-details-marker{display:none}
.vh-series-panel summary:after{
  content:"aufklappen";font-size:12px;font-weight:900;color:#0f766e;
  border:1px solid #99f6e4;background:#ecfdf5;border-radius:999px;padding:5px 10px;
}
.vh-series-panel[open] summary{border-bottom:1px solid #e2e8f0}
.vh-series-panel[open] summary:after{content:"zuklappen"}
.vh-series-summary-sub{font-size:13px;font-weight:800;color:#64748b;margin-top:3px}
.vh-series-list{padding:14px 18px 18px}

.vh-series-list{display:grid;gap:12px}
.vh-series-card{border:1px solid #d7e3ef;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fffd);padding:15px 16px;box-shadow:0 6px 18px rgba(15,23,42,.045)}
.vh-series-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:7px}
.vh-series-card-title{font-size:17px;font-weight:950;color:#0f172a}
.vh-series-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:950;border:1px solid #99f6e4;background:#ecfdf5;color:#0f766e}
.vh-series-pill.inactive{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.vh-series-card-meta{font-size:14px;line-height:1.45;color:#475569;font-weight:750}
.vh-series-card-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.vh-series-card-actions form{margin:0}
.vh-series-card-actions button{border:1px solid #fecaca;background:#fff7f7;color:#b91c1c;border-radius:999px;padding:8px 14px;font-weight:900;cursor:pointer;box-shadow:0 3px 9px rgba(15,23,42,.05)}
.vh-series-card-actions button:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
.vh-series-card-actions .vh-series-action-link{border:1px solid #99f6e4;background:#ecfdf5;color:#0f766e;border-radius:999px;padding:8px 14px;font-weight:900;text-decoration:none;box-shadow:0 3px 9px rgba(15,23,42,.05)}
.vh-series-card-actions .vh-series-action-link:hover{background:#ccfbf1;border-color:#5eead4;color:#115e59}
.vh-requests-panel{
  background:#fff;border:1px solid #dbe5f0;border-radius:22px;
  margin:16px 0 22px;box-shadow:0 12px 28px rgba(15,23,42,.06);
  overflow:hidden;
}
.vh-requests-panel summary{
  list-style:none;cursor:pointer;padding:15px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:18px;font-weight:950;color:#0f172a;
}
.vh-requests-panel summary::-webkit-details-marker{display:none}
.vh-requests-panel summary:after{
  content:"aufklappen";font-size:12px;font-weight:900;color:#0f766e;
  border:1px solid #99f6e4;background:#ecfdf5;border-radius:999px;padding:5px 10px;
}
.vh-requests-panel[open] summary{border-bottom:1px solid #e2e8f0}
.vh-requests-panel[open] summary:after{content:"zuklappen"}
.vh-requests-summary-sub{font-size:13px;font-weight:800;color:#64748b;margin-top:3px}
.vh-requests-body{padding:16px 18px 18px}
.vh-requests-body .vh-grid{margin-top:0}
.vh-requests-body .vh-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
.vh-requests-body .vh-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.vh-requests-body .vh-card-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}


/* === PFARRAMTS-SOFTWARE EXTRACTED MODULE CSS V2 ===
   Weitere exakt verschobene Modulstile: Verstorbene, Bekanntmachungen,
   Sakristeibuch und Gebaeude. */

/* extracted from module_verstorbene.live2.php */
:root{--pf-bg:#f6f8fb;--pf-surface:#fff;--pf-surface-soft:#f8fafc;--pf-line:#dbe3ef;--pf-text:#0f172a;--pf-muted:#64748b;--pf-accent:#2563eb;--pf-success:#16a34a;--pf-warning:#f97316;--pf-attention:#facc15;--pf-danger:#dc2626;--pf-radius-lg:12px;--pf-shadow-card:0 8px 22px rgba(15,23,42,.06);--pf-gap:16px}
.verstorbene-page{max-width:1440px;margin:0 auto;padding:18px;color:var(--pf-text);font-family:Arial,Helvetica,sans-serif;background:var(--pf-bg)}
.verstorbene-page *{box-sizing:border-box}
.verstorbene-page a{color:var(--pf-accent);text-decoration:none}
.verstorbene-page a:hover{text-decoration:underline}
.verstorbene-page .pf-module-shell,.verstorbene-page .pf-list-page{display:grid;gap:var(--pf-gap)}
.verstorbene-page .pf-card,.verstorbene-page .pf-list-card{background:var(--pf-surface);border:1px solid var(--pf-line);border-radius:var(--pf-radius-lg);box-shadow:var(--pf-shadow-card);padding:16px;overflow-x:auto}
.verstorbene-page .pf-list-head{display:grid;gap:14px}
.verstorbene-page .pf-list-head__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.verstorbene-page .pf-list-title{margin:0;color:var(--pf-text);font-size:24px;line-height:1.15;font-weight:800}
.verstorbene-page .pf-list-subtitle{margin:6px 0 0;color:var(--pf-muted);font-size:13px;line-height:1.4}
.verstorbene-page .pf-list-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;align-items:end}
.verstorbene-page .pf-field{display:grid;gap:6px}
.verstorbene-page label{display:block;margin:0 0 6px;color:#334155;font-size:13px;font-weight:700}
.verstorbene-page input,.verstorbene-page select{width:100%;max-width:100%;padding:8px 10px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:var(--pf-text);font:inherit}
.verstorbene-page .pf-list-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:0}
.verstorbene-page .pf-btn,.verstorbene-page button.pf-btn,.verstorbene-page a.pf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:var(--pf-text);font:inherit;font-size:13px;font-weight:700;line-height:1.1;text-decoration:none;cursor:pointer;white-space:nowrap}
.verstorbene-page .pf-btn:hover{text-decoration:none;filter:brightness(.98)}
.verstorbene-page .pf-btn--primary{background:var(--pf-accent);border-color:#1d4ed8;color:#fff}
.verstorbene-page .pf-btn--success{background:var(--pf-success);border-color:#15803d;color:#fff}
.verstorbene-page .pf-btn--warning{background:var(--pf-warning);border-color:#ea580c;color:#fff}
.verstorbene-page .pf-btn--danger{background:var(--pf-danger);border-color:#b91c1c;color:#fff}
.verstorbene-page .pf-btn.yellow{background:var(--pf-attention);border-color:#eab308;color:#1f2937}
.verstorbene-page .pf-btn.green{background:var(--pf-success);border-color:#15803d;color:#fff}
.verstorbene-page .pf-btn.orange{background:var(--pf-warning);border-color:#ea580c;color:#fff}
.verstorbene-page .pf-btn--ghost{background:#fff;color:var(--pf-accent)}
.verstorbene-page .pf-list-count{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid var(--pf-line);border-radius:999px;background:var(--pf-surface-soft);color:var(--pf-muted);font-size:13px;font-weight:700}
.verstorbene-page .pf-list-card__meta{margin:0 0 14px;color:var(--pf-muted);font-size:13px}
.verstorbene-page .pf-list-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;background:#fff;table-layout:auto}
.verstorbene-page .pf-list-table th,.verstorbene-page .pf-list-table td{padding:12px 10px;border:0;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:top;font-size:13px;line-height:1.35}
.verstorbene-page .pf-list-table th{background:#f8fafc;color:#475569;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.verstorbene-page .pf-list-table tbody tr:hover td{background:#fbfdff}
.verstorbene-page .pf-list-table--kasualien th:nth-child(1),.verstorbene-page .pf-list-table--kasualien td:nth-child(1){width:16%;min-width:150px}
.verstorbene-page .pf-list-table--kasualien th:nth-child(2),.verstorbene-page .pf-list-table--kasualien td:nth-child(2){width:13%;min-width:130px}
.verstorbene-page .pf-list-table--kasualien th:nth-child(3),.verstorbene-page .pf-list-table--kasualien td:nth-child(3){width:14%;min-width:130px}
.verstorbene-page .pf-list-table--kasualien th:nth-child(4),.verstorbene-page .pf-list-table--kasualien td:nth-child(4){width:14%;min-width:130px}
.verstorbene-page .pf-list-table--kasualien th:nth-child(5),.verstorbene-page .pf-list-table--kasualien td:nth-child(5){width:29%;min-width:230px}
.verstorbene-page .pf-list-table--kasualien th:nth-child(6),.verstorbene-page .pf-list-table--kasualien td:nth-child(6){width:14%;min-width:190px}
.verstorbene-page .pf-list-row-title{color:var(--pf-text);font-weight:700}
.verstorbene-page .pf-list-inline-card .pf-list-row-title{display:block;margin-bottom:4px}
.verstorbene-page .pf-list-inline-card .pf-list-row-muted{display:block}
.verstorbene-page .pf-list-row-muted{display:block;color:var(--pf-muted);font-size:12px}
.verstorbene-page .pf-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:170px}
.verstorbene-page .verst-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;font-size:12px;font-weight:700}
.verstorbene-page .verst-note{color:var(--pf-muted);font-size:13px}
.verstorbene-page .verst-live-search{grid-column:1 / -1;max-width:760px}
.verstorbene-page .verst-subgroup-row td{background:#f8fafc;color:#334155;font-size:13px;font-weight:800;border-top:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1}
@media(max-width:900px){.verstorbene-page{padding:12px}.verstorbene-page .pf-list-table{display:block;overflow:auto;min-width:0}.verstorbene-page .pf-list-table th,.verstorbene-page .pf-list-table td{min-width:140px}.verstorbene-page .pf-list-table th:last-child,.verstorbene-page .pf-list-table td:last-child{min-width:190px}}

/* extracted from module_bekanntmachungen.live.php */
.bm-wrap{display:grid;grid-template-columns:1fr;gap:18px;font-size:19px;line-height:1.65;-webkit-text-size-adjust:100%;text-size-adjust:100%;width:100%;max-width:100%;overflow:hidden}
.bm-wrap,.bm-wrap *{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.bm-list,.bm-panel{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:24px;
  padding:20px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.bm-list a{
  display:block;
  padding:18px 18px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  color:#0f172a;
  text-decoration:none;
  margin:0 0 14px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.bm-list a.is-active{border-color:#94a3b8;background:#f8fafc}
.bm-title{font-size:1.38rem;font-weight:800;line-height:1.4;margin:0 0 6px}
.bm-meta{font-size:1.14rem;color:#64748b;line-height:1.6;margin-top:6px}
.bm-card{
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:16px 16px;
  background:#fff;
  margin:0 0 14px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.bm-card h3{margin:0 0 12px;font-size:1.24rem;color:#0f172a;line-height:1.35}
.bm-note{color:#64748b;line-height:1.7;font-size:1.14rem}
.bm-kas-list{margin:0;padding-left:22px;color:#334155;font-size:1.14rem;line-height:1.7}
@media (min-width: 1500px){
  .bm-wrap{grid-template-columns:minmax(320px,430px) minmax(420px,1fr);gap:18px}
  .bm-list,.bm-panel{padding:16px;border-radius:20px}
  .bm-list a{padding:14px 14px;border-radius:16px;margin:0 0 12px}
  .bm-title{font-size:1rem;line-height:1.3}
  .bm-meta{font-size:.93rem;line-height:1.35;margin-top:0}
  .bm-card{padding:14px 15px;border-radius:16px;margin:0 0 12px}
  .bm-card h3{font-size:1rem;margin:0 0 8px}
  .bm-note,.bm-kas-list{font-size:.98rem;line-height:1.5}
}
#bm-font-controls{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
}
#bm-font-controls .bm-font-btn{
  width:72px;
  height:72px;
  border:none;
  border-radius:999px;
  background:#dc2626;
  color:#fff;
  font-size:42px;
  line-height:1;
  font-weight:800;
  box-shadow:0 10px 24px rgba(15,23,42,.22);
  cursor:pointer;
}
#bm-font-controls .bm-font-info{
  min-width:72px;
  padding:8px 10px;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  text-align:center;
  font-size:18px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(15,23,42,.18);
}
@media (max-width: 860px){
  #bm-font-controls{
    right:14px;
    bottom:14px;
  }
  #bm-font-controls .bm-font-btn{
    width:78px;
    height:78px;
    font-size:46px;
  }
  #bm-font-controls .bm-font-info{
    min-width:78px;
    font-size:20px;
  }
}

/* extracted from module_sakristeibuch.live.php */
.sak-entry-form{
  background:linear-gradient(180deg,#eef2f6 0%,#e4eaf1 100%);
  border:1px solid #d7dee8;
  border-radius:24px;
  padding:20px 18px 18px;
  box-shadow:0 18px 42px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.55);
  margin-top:20px;
  overflow:visible;
  width:100%;
  max-width:none;
}
.sak-entry-form .sak-entry-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  align-items:start;
}
.sak-entry-form .sak-entry-grid > div,
.sak-entry-form .sak-form-textarea-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(214,223,233,.96);
  border-radius:20px;
  padding:18px 18px 16px;
  box-shadow:0 8px 22px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.82);
}
.sak-entry-form .sak-entry-grid > div[style*="display:none"]{
  display:none !important;
}
.sak-entry-form label{
  display:block;
  font-weight:700;
  font-size:14px;
  margin-bottom:8px;
  color:#0f172a;
}
.sak-entry-form input[type="text"],
.sak-entry-form input[type="number"],
.sak-entry-form input[type="date"],
.sak-entry-form input[type="time"],
.sak-entry-form input[type="email"],
.sak-entry-form select,
.sak-entry-form textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #cfd8e3;
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  box-sizing:border-box;
  font-size:16px;
  line-height:1.35;
}
.sak-entry-form input:focus,
.sak-entry-form select:focus,
.sak-entry-form textarea:focus,
.sak-entry-form button:focus{
  outline:none;
  border-color:#93c5fd;
  box-shadow:0 0 0 4px rgba(37,99,235,.14);
}
.sak-entry-form textarea{
  min-height:150px;
  resize:vertical;
}
.sak-entry-form .sak-small-int{
  width:96px !important;
  max-width:96px;
  min-height:50px;
  text-align:center;
  padding-left:8px;
  padding-right:8px;
}
.sak-entry-form .sak-inline-popup-row{
  display:flex;
  gap:10px;
  align-items:stretch;
}
.sak-entry-form .sak-inline-popup-input{
  flex:1 1 auto;
  min-width:0;
}
.sak-entry-form .sak-popup-btn,
.sak-entry-form #sak_kollektenzweck_button{
  display:flex;
  align-items:center;
  width:100%;
  text-align:left;
  padding:12px 14px !important;
  border:1px solid #cfd8e3 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#0f172a !important;
  cursor:pointer;
  line-height:1.4;
  min-height:50px !important;
  box-shadow:none !important;
}
.sak-entry-form .sak-inline-popup-button{
  width:auto !important;
  flex:0 0 auto;
  white-space:nowrap;
  justify-content:center;
}
.sak-entry-form #sak_kollektenplan_display{
  padding:12px 14px !important;
  border:1px solid #cfd8e3 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#0f172a !important;
  min-height:50px;
  display:flex;
  align-items:center;
}
.sak-entry-form .sak-checkbox-row{
  display:flex;
  align-items:stretch;
}
.sak-entry-form .sak-checkbox-row label{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:12px 16px;
  min-height:56px;
  border:1px solid #cfd8e3;
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(15,23,42,.05);
}
.sak-entry-form .sak-checkbox-row input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:#2563eb;
  margin:0;
}
.sak-entry-form .sak-link-card{
  grid-column:1 / -1;
}
.sak-entry-form .sak-link-card > div:first-child{
  font-size:12px !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800 !important;
  color:#64748b !important;
  margin-bottom:8px !important;
}
.sak-entry-form .sak-link-card a{
  color:#2563eb;
  text-decoration:none;
  font-weight:600;
}
.sak-entry-form .sak-link-card a:hover{
  text-decoration:underline;
}
.sak-entry-form .sak-form-actions{
  position:sticky;
  bottom:8px;
  z-index:25;
  margin-top:18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:12px;
  border:1px solid rgba(214,223,233,.96);
  border-radius:18px;
  background:rgba(248,250,252,.94);
  backdrop-filter:blur(8px);
  box-shadow:0 12px 26px rgba(15,23,42,.10);
}
.sak-entry-form .sak-btn-primary,
.sak-entry-form .sak-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:12px 18px;
  border-radius:14px;
  font-weight:800;
  text-decoration:none;
}
.sak-entry-form .sak-btn-primary{
  border:0;
  background:#2563eb;
  color:#fff;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(37,99,235,.20);
}
.sak-entry-form .sak-btn-secondary{
  border:1px solid #c3ccd8;
  background:rgba(255,255,255,.82);
  color:#334155;
  box-shadow:0 6px 14px rgba(15,23,42,.05);
}
.sak-entry-form .sak-btn-secondary:hover,
.sak-entry-form .sak-btn-primary:hover{
  text-decoration:none;
}
@media (max-width: 900px){
  .sak-entry-form{
    padding:18px 14px 16px;
    border-radius:20px;
  }
  .sak-entry-form .sak-entry-grid{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  }
}
@media (max-width: 760px){
  .sak-entry-form{
    padding:16px 12px 14px;
    border-radius:18px;
    box-shadow:0 14px 30px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.55);
  }
  .sak-entry-form .sak-entry-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .sak-entry-form .sak-entry-grid > div,
  .sak-entry-form .sak-form-textarea-card{
    border-radius:18px;
    padding:16px 14px 14px;
  }
  .sak-entry-form label{
    font-size:15px;
    margin-bottom:8px;
  }
  .sak-entry-form input[type="text"],
  .sak-entry-form input[type="number"],
  .sak-entry-form input[type="date"],
  .sak-entry-form input[type="time"],
  .sak-entry-form input[type="email"],
  .sak-entry-form select,
  .sak-entry-form textarea,
  .sak-entry-form .sak-popup-btn,
  .sak-entry-form .sak-btn-primary,
  .sak-entry-form .sak-btn-secondary{
    font-size:16px;
    min-height:50px;
  }
  .sak-entry-form .sak-small-int{
    width:100% !important;
    max-width:none;
    text-align:left;
    padding-left:14px;
    padding-right:14px;
  }
  .sak-entry-form .sak-inline-popup-row{
    flex-direction:column;
  }
  .sak-entry-form .sak-inline-popup-button{
    width:100% !important;
  }
  .sak-entry-form .sak-form-actions{
    bottom:0;
    flex-direction:column;
    padding:10px;
    border-radius:16px;
  }
  .sak-entry-form .sak-btn-primary,
  .sak-entry-form .sak-btn-secondary{
    width:100%;
  }
}
.sak-overview-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin:4px 0 20px;
}
.sak-kj-filter{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid #dbe5ef;
  border-radius:16px;
  background:#f8fafc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.sak-kj-filter label{
  font-size:13px;
  font-weight:800;
  color:#475569;
}
.sak-kj-filter select{
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  font-weight:700;
  padding:8px 34px 8px 10px;
}
.sak-list-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.sak-list-link,
.sak-list-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 13px;
  border-radius:14px;
  text-decoration:none;
  font-weight:800;
  border:1px solid #cfe0f5;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  color:#0f3b82;
  box-shadow:0 7px 16px rgba(15,23,42,.06);
}
.sak-list-shell{
  border:1px solid #dbe5ef;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
}
.sak-list-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}
.sak-list-table th,
.sak-list-table td{
  padding:14px 12px;
  vertical-align:top;
  border-bottom:1px solid #e7edf5;
}
.sak-list-table th{
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);
  color:#334155;
  font-size:13px;
  text-align:left;
  font-weight:900;
  letter-spacing:.01em;
}
.sak-list-table tr:last-child td{
  border-bottom:0;
}
.sak-list-table tbody tr:nth-child(even){
  background:#fbfdff;
}
.sak-list-table tbody tr:hover{
  background:#f7fbff;
}
.sak-event-title{
  font-weight:850;
  color:#0f172a;
  line-height:1.28;
}
.sak-event-meta{
  margin-top:5px;
  color:#475569;
  font-size:13px;
  line-height:1.35;
}
.sak-ort-pill{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  padding:5px 10px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  border:1px solid #bae6fd;
  font-size:12px;
  font-weight:900;
}
.sak-tag-cell{
  color:#0f172a;
  line-height:1.35;
}
.sak-koll-cell{
  line-height:1.45;
  color:#0f172a;
}
.sak-koll-label{
  display:inline-block;
  min-width:28px;
  font-weight:900;
  color:#1d4ed8;
}
.sak-visitor-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  padding:5px 9px;
  border-radius:999px;
  background:#f1f5f9;
  color:#0f172a;
  font-weight:900;
}
.sak-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:4px 10px;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  font-size:13px;
  font-weight:900;
  border:1px solid #bbf7d0;
}
.sak-list-mobile{
  display:none;
}
.sak-mobile-card{
  background:#fff;
  border:1px solid #dde5ee;
  border-radius:20px;
  padding:16px 14px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  margin-bottom:14px;
}
.sak-mobile-card-title{
  font-size:17px;
  font-weight:900;
  line-height:1.35;
  color:#0f172a;
  margin:0 0 10px;
}
.sak-mobile-row{
  margin:0 0 10px;
}
.sak-mobile-row:last-child{
  margin-bottom:0;
}
.sak-mobile-label{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#64748b;
  margin-bottom:4px;
}
@media (max-width: 760px){
  .sak-overview-toolbar{
    align-items:stretch;
  }
  .sak-kj-filter,
  .sak-list-actions,
  .sak-list-actions a,
  .sak-list-link{
    width:100%;
  }
  .sak-kj-filter{
    justify-content:space-between;
  }
  .sak-list-table{
    display:none;
  }
  .sak-list-shell{
    border:0;
    box-shadow:none;
    background:transparent;
  }
  .sak-list-mobile{
    display:block;
  }
}

  /* SAK_OPEN_SERVICES_BOX_V5 */
  .sak-open-services-box{margin:0 0 16px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:16px;padding:14px;}
  .sak-open-services-box h3{margin:0 0 10px;font-size:16px;font-weight:900;color:#0f172a;}
  .sak-open-services-list{display:grid;gap:8px;}
  .sak-open-service-row{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;border:1px solid #dbeafe;background:#fff;border-radius:12px;padding:10px 12px;}
  .sak-open-service-title{font-weight:900;color:#0f172a;}
  .sak-open-service-meta{margin-top:3px;font-size:12px;color:#64748b;}
  .sak-open-service-action{white-space:nowrap;text-decoration:none;font-weight:900;color:#075985;border:1px solid #93c5fd;background:#f8fafc;padding:7px 10px;border-radius:10px;}

/* extracted from module_gebaeude.live.php */
/* GEBAEUDE_OERTLICHKEITEN_OPTIK_V1 */
body.pf-geo-page-v1 {
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 34rem),
        linear-gradient(180deg, #f5f7fb 0%, #eef2f7 100%) !important;
}

body.pf-geo-page-v1 .pf-geo-scope-v1 {
    border: 1px solid rgba(148, 163, 184, .28) !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08) !important;
    padding: 28px !important;
}

body.pf-geo-page-v1 .pf-geo-title-v1 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 22px 0 !important;
    color: #162033 !important;
    font-size: 29px !important;
    line-height: 1.15 !important;
    letter-spacing: -.02em !important;
    font-weight: 850 !important;
}

body.pf-geo-page-v1 .pf-geo-title-v1::before {
    content: "";
    width: 10px;
    height: 38px;
    border-radius: 999px;
    background: linear-gradient(180deg, #315be8 0%, #1d4ed8 100%);
    box-shadow: 0 8px 18px rgba(37, 99, 235, .28);
    flex: 0 0 auto;
}

body.pf-geo-page-v1 .pf-geo-action-v1 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 17px !important;
    margin: 4px 6px 10px 0 !important;
    border-radius: 14px !important;
    border: 1px solid rgba(59, 130, 246, .42) !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef4ff 100%) !important;
    color: #1d4ed8 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .10) !important;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease !important;
}

body.pf-geo-page-v1 .pf-geo-action-v1:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, .75) !important;
    box-shadow: 0 14px 26px rgba(37, 99, 235, .16) !important;
}

body.pf-geo-page-v1 .pf-geo-tabs-row-v1 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin: 8px 0 22px 0 !important;
}

body.pf-geo-page-v1 .pf-geo-tab-v1 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 9px 17px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(148, 163, 184, .32) !important;
    background: #ffffff !important;
    color: #172033 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, .04) !important;
}

body.pf-geo-page-v1 .pf-geo-tab-v1.active,
body.pf-geo-page-v1 .pf-geo-tab-v1.btn-primary,
body.pf-geo-page-v1 .pf-geo-tab-v1.is-active,
body.pf-geo-page-v1 .pf-geo-tab-v1[aria-current="page"] {
    background: linear-gradient(180deg, #315be8 0%, #1d4ed8 100%) !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, .24) !important;
}

body.pf-geo-page-v1 .pf-geo-subcard-v1 {
    margin-top: 14px !important;
    padding: 22px !important;
    border: 1px solid rgba(148, 163, 184, .24) !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 10px 24px rgba(15, 23, 42, .045) !important;
}

body.pf-geo-page-v1 .pf-geo-table-wrap-v1 {
    overflow: auto !important;
    border: 1px solid rgba(148, 163, 184, .25) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .055) !important;
}

body.pf-geo-page-v1 table.pf-geo-table-v1 {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    font-size: 15px !important;
}

body.pf-geo-page-v1 table.pf-geo-table-v1 th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f4f7fb !important;
    color: #172033 !important;
    font-weight: 850 !important;
    padding: 13px 14px !important;
    border-bottom: 1px solid rgba(148, 163, 184, .26) !important;
    white-space: nowrap !important;
}

body.pf-geo-page-v1 table.pf-geo-table-v1 td {
    padding: 12px 14px !important;
    border-bottom: 1px solid rgba(226, 232, 240, .9) !important;
    color: #1f2937 !important;
    vertical-align: middle !important;
}

body.pf-geo-page-v1 table.pf-geo-table-v1 tbody tr:nth-child(even) {
    background: #fbfdff !important;
}

body.pf-geo-page-v1 table.pf-geo-table-v1 tbody tr:hover {
    background: #eef4ff !important;
}

body.pf-geo-page-v1 table.pf-geo-table-v1 th:first-child,
body.pf-geo-page-v1 table.pf-geo-table-v1 td:first-child {
    width: 96px;
}

body.pf-geo-page-v1 .pf-geo-openlink-v1 {
    color: #1d4ed8 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

body.pf-geo-page-v1 .pf-geo-openlink-v1:hover {
    text-decoration: underline !important;
}

body.pf-geo-page-v1 .pf-geo-status-v1 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 62px !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(22, 163, 74, .22) !important;
    background: #eaf8ef !important;
    color: #166534 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

@media (max-width: 780px) {
    body.pf-geo-page-v1 .pf-geo-scope-v1 {
        padding: 18px !important;
        border-radius: 22px !important;
    }

    body.pf-geo-page-v1 .pf-geo-title-v1 {
        font-size: 24px !important;
    }

    body.pf-geo-page-v1 .pf-geo-action-v1,
    body.pf-geo-page-v1 .pf-geo-tab-v1 {
        width: 100% !important;
        margin-right: 0 !important;
    }

    body.pf-geo-page-v1 .pf-geo-table-wrap-v1 {
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    body.pf-geo-page-v1 table.pf-geo-table-v1,
    body.pf-geo-page-v1 table.pf-geo-table-v1 thead,
    body.pf-geo-page-v1 table.pf-geo-table-v1 tbody,
    body.pf-geo-page-v1 table.pf-geo-table-v1 tr,
    body.pf-geo-page-v1 table.pf-geo-table-v1 td {
        display: block !important;
        width: 100% !important;
    }

    body.pf-geo-page-v1 table.pf-geo-table-v1 thead {
        display: none !important;
    }

    body.pf-geo-page-v1 table.pf-geo-table-v1 tr {
        margin-bottom: 12px !important;
        padding: 8px 10px !important;
        border: 1px solid rgba(148, 163, 184, .25) !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        box-shadow: 0 8px 18px rgba(15, 23, 42, .045) !important;
    }

    body.pf-geo-page-v1 table.pf-geo-table-v1 td {
        display: flex !important;
        justify-content: space-between !important;
        gap: 16px !important;
        border-bottom: 1px solid rgba(226, 232, 240, .75) !important;
        padding: 9px 4px !important;
    }

    body.pf-geo-page-v1 table.pf-geo-table-v1 td:last-child {
        border-bottom: 0 !important;
    }

    body.pf-geo-page-v1 table.pf-geo-table-v1 td::before {
        content: attr(data-label);
        color: #64748b;
        font-weight: 850;
        min-width: 110px;
        text-align: left;
    }
}
/* GEBAEUDE_OERTLICHKEITEN_SORTIERUNG_HEADER_PFEILE_V2 */
body.pf-geo-page-v1 table.pf-geo-table-v1 th.pf-geo-sortable-v2 {
    padding: 0 !important;
}

body.pf-geo-page-v1 .pf-geo-sort-btn-v2 {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 13px 14px !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    cursor: pointer !important;
}

body.pf-geo-page-v1 .pf-geo-sort-btn-v2:hover {
    background: rgba(37, 99, 235, .065) !important;
}

body.pf-geo-page-v1 .pf-geo-sort-label-v2 {
    display: inline-block !important;
}

body.pf-geo-page-v1 .pf-geo-sort-indicator-v2 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 999px !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    transform: translateY(-1px);
}

body.pf-geo-page-v1 th.pf-geo-sort-active-v2 .pf-geo-sort-indicator-v2 {
    background: #1d4ed8 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 12px rgba(37, 99, 235, .28) !important;
}

body.pf-geo-page-v1 tr.pf-geo-sort-flash-v2 {
    animation: pfGeoSortFlashV2 .55s ease-out 1;
}

@keyframes pfGeoSortFlashV2 {
    0% { background: #dbeafe; }
    100% { background: transparent; }
}

@media (max-width: 780px) {
    body.pf-geo-page-v1 table.pf-geo-table-v1 th.pf-geo-sortable-v2 {
        padding: 0 !important;
    }
}
/* GEBAEUDE_OERTLICHKEITEN_SORTIERUNG_HEADER_PFEILE_V3_ROBUST */
table.pf-geo-sort-table-v3 th.pf-geo-sortable-v3 {
    position: relative !important;
    cursor: pointer !important;
    user-select: none !important;
    padding-right: 34px !important;
}

table.pf-geo-sort-table-v3 th.pf-geo-sortable-v3::after {
    content: "↕";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    border-radius: 999px;
    background: #e8eefb;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

table.pf-geo-sort-table-v3 th.pf-geo-sort-active-v3::after {
    background: #1d4ed8;
    color: #ffffff;
    box-shadow: 0 5px 12px rgba(37, 99, 235, .28);
}

table.pf-geo-sort-table-v3 th.pf-geo-sort-active-v3[data-sort-dir="asc"]::after {
    content: "▲";
}

table.pf-geo-sort-table-v3 th.pf-geo-sort-active-v3[data-sort-dir="desc"]::after {
    content: "▼";
}

table.pf-geo-sort-table-v3 tbody tr.pf-geo-row-flash-v3 {
    animation: pfGeoSortFlashV3 .45s ease-out 1;
}

@keyframes pfGeoSortFlashV3 {
    0% { background: #dbeafe; }
    100% { background: transparent; }
}
/* GEBAEUDE_SORTIERUNG_HEADER_PFEILE_V4_OHNE_THEAD */
table.pf-geo-sort-v4 th.pf-geo-sortable-v4 {
    position: relative !important;
    cursor: pointer !important;
    user-select: none !important;
    padding-right: 38px !important;
}

table.pf-geo-sort-v4 th.pf-geo-sortable-v4::after {
    content: "↕";
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: #e8eefb !important;
    color: #1d4ed8 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

table.pf-geo-sort-v4 th.pf-geo-sort-active-v4::after {
    background: #1d4ed8 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 12px rgba(37, 99, 235, .28) !important;
}

table.pf-geo-sort-v4 th.pf-geo-sort-active-v4[data-sort-dir="asc"]::after {
    content: "▲";
}

table.pf-geo-sort-v4 th.pf-geo-sort-active-v4[data-sort-dir="desc"]::after {
    content: "▼";
}


/* === PFARRAMTS-SOFTWARE EXTRACTED MODULE CSS V3 ===
   Nur klassengebundene Teilbloecke aus Benutzer und Veranstaltungen.
   Breite html/body/button-Regeln bleiben bis zum Modulumbau lokal. */

/* extracted safe blocks from module_benutzer.live2.php */
/* block 11 */
/* BENUTZER_RECHTE_KACHEL_SUMMARY_FORCE_V7 */
.pf-user-accordion-summary-force-v7{
    display:inline-block;
    margin-left:12px;
    color:#334155;
    font-size:13px;
    font-weight:700;
    max-width:min(780px,62vw);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    vertical-align:middle;
}
@media (max-width: 800px){
    .pf-user-accordion-summary-force-v7{
        display:block;
        margin:4px 0 0 0;
        max-width:100%;
        white-space:normal;
    }
}
/* block 10 */
/* BENUTZER_RECHTE_KACHEL_SUMMARY_V6 */
.pf-user-accordion-summary-v6{
    display:inline-block;
    max-width:min(720px,62vw);
    margin-left:10px;
    color:#334155;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    vertical-align:middle;
}
@media (max-width: 800px){
    .pf-user-accordion-summary-v6{
        display:block;
        max-width:100%;
        margin:4px 0 0 0;
        white-space:normal;
    }
}
/* block 9 */
/* BENUTZER_JUBELKONFI_COLLAPSIBLE_V1 */
.pf-benutzer-collapse-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    margin:0 0 10px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    background:#f8fafc;
    color:#0f172a;
    font-weight:800;
    cursor:pointer;
    text-align:left;
}
.pf-benutzer-collapse-toggle:hover{
    background:#eef6ff;
    border-color:#93c5fd;
}
.pf-benutzer-collapse-toggle small{
    color:#64748b;
    font-weight:700;
}
.pf-benutzer-collapse-icon{
    font-size:15px;
    line-height:1;
    color:#2563eb;
}
.pf-benutzer-collapse-main{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.pf-benutzer-collapse-current{
    display:inline-flex;
    align-items:center;
    padding:3px 8px;
    border:1px solid #93c5fd;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:800;
}
.pf-benutzer-collapsed-body{
    display:none;
}
.pf-benutzer-collapsed-body.is-open{
    display:block;
}
.pf-benutzer-collapsible-shell{
    margin:12px 0 18px;
    padding:10px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:#ffffff;
}
/* block 8 */
/* BENUTZER_GRUNDROLLE_KACHEL_BADGE_V3 */
.pf-benutzer-grundrolle-current-badge-v3{
    display:inline-flex;
    align-items:center;
    margin-left:12px;
    padding:4px 10px;
    border:1px solid #93c5fd;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:13px;
    font-weight:800;
    vertical-align:middle;
}
/* block 7 */
/* BENUTZER_GRUNDROLLE_KACHEL_BADGE_V2 */
.pf-benutzer-grundrolle-current-badge{
    display:inline-flex;
    align-items:center;
    margin-left:12px;
    padding:4px 10px;
    border:1px solid #93c5fd;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:13px;
    font-weight:800;
    vertical-align:middle;
}
/* block 5 */
/* BENUTZER_LISTE_KOMPAKT_V1 */
            .pf-benutzer-kompakt-wrap{
                width:100%;
                overflow-x:auto;
                border:1px solid #dbe3ee;
                border-radius:16px;
                background:#fff;
            }
            .pf-benutzer-kompakt-table{
                width:100%;
                min-width:980px;
                border-collapse:collapse;
                font-size:13px;
            }
            .pf-benutzer-kompakt-table th{
                padding:9px 10px;
                border-bottom:1px solid #dbe3ee;
                background:#f8fafc;
                color:#475569;
                font-size:11px;
                text-transform:uppercase;
                letter-spacing:.06em;
                text-align:left;
                white-space:nowrap;
            }
            .pf-benutzer-kompakt-table td{
                padding:8px 10px;
                border-bottom:1px solid #edf2f7;
                vertical-align:middle;
            }
            .pf-benutzer-kompakt-table tr:hover td{
                background:#f8fbff;
            }
            .pf-benutzer-kompakt-table tr.is-awaiting td{
                background:#fff7ed;
            }
            .pf-benutzer-kompakt-id{
                width:54px;
                color:#64748b;
                font-variant-numeric:tabular-nums;
            }
            .pf-benutzer-kompakt-name a{
                display:inline-block;
                color:#0f172a;
                font-weight:900;
                font-size:14px;
                text-decoration:none;
            }
            .pf-benutzer-kompakt-name a:hover{
                color:#1d4ed8;
                text-decoration:underline;
            }
            .pf-benutzer-kompakt-sub{
                margin-top:2px;
                color:#64748b;
                font-size:12px;
                white-space:nowrap;
            }
            .pf-benutzer-kompakt-chiprow{
                display:flex;
                flex-wrap:wrap;
                gap:5px;
                align-items:center;
            }
            .pf-benutzer-kompakt-chip{
                display:inline-flex;
                align-items:center;
                padding:3px 7px;
                border:1px solid #bfdbfe;
                border-radius:999px;
                background:#eff6ff;
                color:#1e40af;
                font-size:11px;
                font-weight:800;
                white-space:nowrap;
            }
            .pf-benutzer-kompakt-chip.is-empty{
                border-color:#e5e7eb;
                background:#f8fafc;
                color:#64748b;
            }
            .pf-benutzer-kompakt-chip.is-primary{
                border-color:#fed7aa;
                background:#fff7ed;
                color:#9a3412;
            }
            .pf-benutzer-kompakt-status{
                display:inline-flex;
                padding:3px 8px;
                border-radius:999px;
                font-size:11px;
                font-weight:900;
                white-space:nowrap;
            }
            .pf-benutzer-kompakt-status.is-active{
                background:#dcfce7;
                color:#166534;
            }
            .pf-benutzer-kompakt-status.is-pending_email{
                background:#fef3c7;
                color:#92400e;
            }
            .pf-benutzer-kompakt-status.is-suspended{
                background:#fee2e2;
                color:#991b1b;
            }
            .pf-benutzer-kompakt-action{
                white-space:nowrap;
                text-align:right;
            }
            .pf-benutzer-kompakt-action a{
                display:inline-flex;
                align-items:center;
                justify-content:center;
                padding:6px 9px;
                border:1px solid #93c5fd;
                border-radius:10px;
                background:#fff;
                color:#1d4ed8;
                font-size:12px;
                font-weight:800;
                text-decoration:none;
            }
            .pf-benutzer-kompakt-action a:hover{
                background:#eff6ff;
            }
/* block 3 */
.pf-benutzer-selected-roles{margin:0 0 10px;padding:8px 10px;border:1px solid #dbeafe;border-radius:12px;background:#f8fafc;}
.pf-benutzer-selected-roles-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#334155;margin-bottom:6px;}
.pf-benutzer-selected-roles-list{display:flex;flex-direction:column;gap:5px;}
.pf-benutzer-selected-role-item{display:block;padding:5px 8px;border-radius:999px;background:#eef2ff;border:1px solid #c7d2fe;color:#1e3a8a;font-weight:700;font-size:13px;}
.pf-benutzer-selected-role-empty{color:#64748b;font-size:13px;}

/* extracted safe blocks from module_veranstaltungen.live2.php */
/* block 8 */
.ve-calendar-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 18px;padding:16px;border:1px solid #dbe5f0;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.05)}
    .ve-calendar-heading{display:grid;gap:5px}
    .ve-calendar-title{font-size:22px;font-weight:900;color:#102033}
    .ve-calendar-subline{font-size:14px;line-height:1.4;color:#475569;font-weight:700}
    .ve-calendar-subline strong{color:#0f766e}
    .ve-calendar-actions{display:flex;flex-wrap:wrap;gap:8px}
    .ve-calendar-actions a{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid #99f6e4;background:#ecfdf5;color:#0f766e}
    .ve-calendar-actions a.ve-cal-active{background:#0f766e;color:#fff;border-color:#0f766e}

    .ve-month-shell{display:grid;gap:14px}
    .ve-month-nav{background:#fff;border:1px solid #dbe5f0;border-radius:20px;padding:14px;box-shadow:0 10px 26px rgba(15,23,42,.045)}
    .ve-month-nav-title{font-size:15px;font-weight:900;color:#102033;margin:0 0 10px}
    .ve-week-picks{display:flex;flex-wrap:wrap;gap:8px}
    .ve-week-pick{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid #dbeafe;background:#f8fbff;color:#0f3b68;text-decoration:none;font-size:13px;font-weight:900}
    .ve-week-pick.active{background:#0f766e;border-color:#0f766e;color:#fff}
    .ve-week-pick .count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;border-radius:999px;background:#0f766e;color:#fff;font-size:12px;font-weight:900}
    .ve-week-pick.active .count{background:#fff;color:#0f766e}

    .ve-focus-panel{background:#fff;border:1px solid #dbe5f0;border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.055)}
    .ve-focus-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
    .ve-focus-title{font-size:20px;font-weight:950;color:#102033}
    .ve-focus-sub{font-size:13px;font-weight:800;color:#64748b;margin-top:3px}
    .ve-scope-actions{display:flex;flex-wrap:wrap;gap:8px}
    .ve-scope-actions a{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:900;border:1px solid #99f6e4;background:#ecfdf5;color:#0f766e}
    .ve-scope-actions a.active{background:#0f766e;color:#fff;border-color:#0f766e}

    .ve-day-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px}
    .ve-day-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;text-decoration:none;font-size:13px;font-weight:900}
    .ve-day-tab.muted{opacity:.42}
    .ve-day-tab.has-events{border-color:#99f6e4;background:#ecfdf5;color:#0f766e}
    .ve-day-tab.active{background:#0f766e;border-color:#0f766e;color:#fff}
    .ve-day-tab .count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;border-radius:999px;background:#0f766e;color:#fff;font-size:12px;font-weight:900}
    .ve-day-tab.active .count{background:#fff;color:#0f766e}

    .ve-events-stage{display:grid;gap:10px}
    .ve-events-day-title{font-size:16px;font-weight:950;color:#102033;margin:6px 0 0}
    .ve-events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
    .ve-cal-event{display:block;padding:12px 13px;border-radius:15px;background:#ecfdf5;border:1px solid #99f6e4;color:#0f766e;text-decoration:none;font-size:14px;line-height:1.3}
    .ve-cal-event strong{display:block;color:#0f766e;font-size:14px}
    .ve-cal-event small{display:block;color:#475569;margin-top:4px}
    .ve-empty-note{color:#64748b;margin:0;font-weight:800}

    .ve-week-overview{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:14px 16px;background:#fff;border:1px solid #dbe5f0;border-radius:18px;box-shadow:0 8px 20px rgba(15,23,42,.045)}
    .ve-week-overview-title{font-size:18px;font-weight:950;color:#102033}
    .ve-week-overview-sub{font-size:13px;font-weight:800;color:#64748b;margin-top:3px}
    .ve-week-kw-badge{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:999px;background:#ecfdf5;border:1px solid #99f6e4;color:#0f766e;font-size:14px;font-weight:950}
    .ve-week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
    .ve-week-card{background:#fff;border:1px solid #dbe5f0;border-radius:18px;padding:14px;box-shadow:0 8px 20px rgba(15,23,42,.045);min-height:170px}
    .ve-week-card.weekend{border-color:#bfdbfe;background:#f8fbff}
    .ve-week-card.has-events{box-shadow:0 10px 24px rgba(15,23,42,.06)}
    .ve-week-card-head{display:grid;gap:3px;margin:0 0 10px}
    .ve-week-card-date{font-size:18px;font-weight:950;color:#102033}
    .ve-week-card-weekday{font-size:13px;font-weight:800;color:#64748b}
    .ve-week-card-events{display:grid;gap:8px}
    .ve-week-card .ve-empty-note{margin-top:14px}
    @media(max-width:700px){.ve-calendar-title{font-size:19px}.ve-events-grid,.ve-week-grid{grid-template-columns:1fr}.ve-week-pick,.ve-day-tab{width:100%;justify-content:space-between}.ve-week-overview{align-items:flex-start}}
/* block 4 */
.ve-ablauf-page{max-width:980px;margin:0 auto 28px;}
    .ve-ablauf-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px;}
    .ve-ablauf-title{margin:0;font-size:30px;line-height:1.15;color:#102033;}
    .ve-ablauf-meta{margin-top:8px;color:#475569;font-weight:700;}
    .ve-ablauf-actions{display:flex;gap:8px;flex-wrap:wrap;}
    .ve-ablauf-list{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none;}
    .ve-ablauf-item{border:1px solid #dbe4ee;border-radius:12px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.04);overflow:hidden;}
    .ve-ablauf-item-head{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;padding:13px 15px;background:#f8fafc;}
    .ve-ablauf-pos{width:34px;height:34px;border-radius:999px;background:#0f766e;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:950;}
    .ve-ablauf-item-title{font-weight:950;color:#0f172a;font-size:18px;line-height:1.25;}
    .ve-ablauf-item-type{font-size:12px;text-transform:uppercase;color:#64748b;font-weight:900;margin-bottom:3px;}
    .ve-ablauf-body{padding:0 15px 14px 75px;color:#102033;white-space:pre-wrap;line-height:1.55;}
    @media(max-width:720px){
        .ve-ablauf-body{padding-left:15px;}
        .ve-ablauf-item-head{grid-template-columns:40px 1fr;}
    }

/* === PFARRAMT GLOBAL DESIGN CONSOLIDATION V3 =============================
   Spaete Schicht fuer die schrittweise Vereinheitlichung alter Module.
   Ziel: ruhiges gruenes Verwaltungssystem, konsistente Fachformulare,
   Tabellen, Filterleisten, Buttons und Startkacheln. */
:root{
    --accent:#17633c;
    --accent-dark:#0f4a32;
    --pf-bg:#f3f7f2;
    --pf-surface:#ffffff;
    --pf-surface-soft:#f7faf7;
    --pf-text:#13231c;
    --pf-text-strong:#07140f;
    --pf-muted:#55685e;
    --pf-line:#d4dfd8;
    --pf-line-strong:#b8c8be;
    --pf-primary:#17633c;
    --pf-primary-hover:#0f4a32;
    --pf-success:#17633c;
    --pf-success-soft:#eef8f1;
    --pf-info:#17633c;
    --pf-info-soft:#edf7f1;
    --pf-warning:#b85b12;
    --pf-warning-soft:#fff7ed;
    --pf-danger:#c7362f;
    --pf-danger-soft:#fff1f1;
    --pf-radius-sm:7px;
    --pf-radius:9px;
    --pf-radius-lg:12px;
    --pf-radius-xl:14px;
    --pf-shadow-card:0 10px 24px rgba(18,42,31,.055);
    --pf-shadow-soft:0 1px 3px rgba(18,42,31,.055);
    --pf-focus:0 0 0 3px rgba(23,99,60,.18);
}

body:not(.pf-mod-kasse){
    background:var(--pf-bg) !important;
    color:var(--pf-text) !important;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    font-size:16px;
    line-height:1.45;
}

body:not(.pf-mod-kasse) h1,
body:not(.pf-mod-kasse) h2,
body:not(.pf-mod-kasse) h3,
body:not(.pf-mod-kasse) h4{
    color:var(--pf-text-strong) !important;
    font-family:inherit !important;
    letter-spacing:0 !important;
}

body:not(.pf-mod-kasse) a{
    color:var(--pf-primary);
}

body:not(.pf-mod-kasse) a:hover{
    color:var(--pf-primary-hover);
}

body:not(.pf-mod-kasse) .pf-wrap{
    width:min(100% - 32px, 1440px) !important;
    max-width:1440px !important;
    margin-inline:auto !important;
}

body:not(.pf-mod-kasse) .pf-main,
body:not(.pf-mod-kasse) main.pf-main{
    gap:18px !important;
}

body:not(.pf-mod-kasse) .pf-main > h1:first-child{
    font-size:clamp(28px, 2.2vw, 36px) !important;
    line-height:1.08 !important;
    margin:0 0 4px !important;
}

body:not(.pf-mod-kasse) .pf-card,
body:not(.pf-mod-kasse) .pf-section,
body:not(.pf-mod-kasse) .pf-panel,
body:not(.pf-mod-kasse) .pf-list-card,
body:not(.pf-mod-kasse) .pf-table-card,
body:not(.pf-mod-kasse) .kas-card,
body:not(.pf-mod-kasse) .kas-taufe-box,
body:not(.pf-mod-kasse) .konf-card,
body:not(.pf-mod-kasse) .konf-compact-card,
body:not(.pf-mod-kasse) .jk-card,
body:not(.pf-mod-kasse) .jk-panel,
body:not(.pf-mod-kasse) .ve-card,
body:not(.pf-mod-kasse) .ve-focus-panel,
body:not(.pf-mod-kasse) .proto-card,
body:not(.pf-mod-kasse) .sak-card,
body:not(.pf-mod-kasse) .bm-card,
body:not(.pf-mod-kasse) .verst-card,
body:not(.pf-mod-kasse) .pf-user-rights-box,
body:not(.pf-mod-kasse) .pf-user-password-box{
    background:var(--pf-surface) !important;
    border:1px solid var(--pf-line) !important;
    border-radius:var(--pf-radius-lg) !important;
    box-shadow:var(--pf-shadow-card) !important;
}

body:not(.pf-mod-kasse) .pf-card,
body:not(.pf-mod-kasse) .pf-section,
body:not(.pf-mod-kasse) .pf-panel,
body:not(.pf-mod-kasse) .pf-list-card,
body:not(.pf-mod-kasse) .pf-table-card,
body:not(.pf-mod-kasse) .kas-card,
body:not(.pf-mod-kasse) .kas-taufe-box,
body:not(.pf-mod-kasse) .konf-card,
body:not(.pf-mod-kasse) .konf-compact-card,
body:not(.pf-mod-kasse) .jk-card,
body:not(.pf-mod-kasse) .jk-panel,
body:not(.pf-mod-kasse) .ve-card,
body:not(.pf-mod-kasse) .ve-focus-panel,
body:not(.pf-mod-kasse) .proto-card,
body:not(.pf-mod-kasse) .sak-card,
body:not(.pf-mod-kasse) .bm-card,
body:not(.pf-mod-kasse) .verst-card{
    padding:18px !important;
}

body:not(.pf-mod-kasse) .pf-card__title,
body:not(.pf-mod-kasse) .pf-section-title,
body:not(.pf-mod-kasse) .kas-title,
body:not(.pf-mod-kasse) .konf-title,
body:not(.pf-mod-kasse) .konf-compact-title,
body:not(.pf-mod-kasse) .jk-title,
body:not(.pf-mod-kasse) .ve-focus-title,
body:not(.pf-mod-kasse) .proto-title,
body:not(.pf-mod-kasse) .sak-title{
    color:var(--pf-text-strong) !important;
    font-size:clamp(20px, 1.4vw, 26px) !important;
    font-weight:850 !important;
    line-height:1.15 !important;
}

body:not(.pf-mod-kasse) .pf-toolbar,
body:not(.pf-mod-kasse) .pf-filterbar,
body:not(.pf-mod-kasse) .kas-v10-actions,
body:not(.pf-mod-kasse) .kas-v9-actions,
body:not(.pf-mod-kasse) .kas-v6-actions,
body:not(.pf-mod-kasse) .konf-actions,
body:not(.pf-mod-kasse) .jk-actions,
body:not(.pf-mod-kasse) .ve-calendar-actions,
body:not(.pf-mod-kasse) .ve-scope-actions,
body:not(.pf-mod-kasse) .proto-actions,
body:not(.pf-mod-kasse) .pf-actions{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:10px !important;
}

body:not(.pf-mod-kasse) .pf-btn,
body:not(.pf-mod-kasse) a.pf-btn,
body:not(.pf-mod-kasse) button.pf-btn,
body:not(.pf-mod-kasse) .kas-btn-v5,
body:not(.pf-mod-kasse) .kas-v6-btn,
body:not(.pf-mod-kasse) .kas-v9-btn,
body:not(.pf-mod-kasse) .kas-v10-btn,
body:not(.pf-mod-kasse) .konf-btn,
body:not(.pf-mod-kasse) .konf-cbtn,
body:not(.pf-mod-kasse) .jk-btn,
body:not(.pf-mod-kasse) .ve-font-btn,
body:not(.pf-mod-kasse) .ve-list-more-btn,
body:not(.pf-mod-kasse) .ve-calendar-actions a,
body:not(.pf-mod-kasse) .ve-scope-actions a,
body:not(.pf-mod-kasse) .proto-btn,
body:not(.pf-mod-kasse) .verst-btn,
body:not(.pf-mod-kasse) .pf-user-rights-btn,
body:not(.pf-mod-kasse) .pf-benutzer-kompakt-action a,
body:not(.pf-mod-kasse) .sp-btn,
body:not(.pf-mod-kasse) .sp-tab,
body:not(.pf-mod-kasse) .sp-file-action,
body:not(.pf-mod-kasse) .sp-analyze-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    min-height:38px !important;
    padding:9px 14px !important;
    border:1px solid var(--pf-line-strong) !important;
    border-radius:var(--pf-radius) !important;
    background:#fff !important;
    color:var(--pf-text-strong) !important;
    font-family:inherit !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    text-decoration:none !important;
    box-shadow:none !important;
    cursor:pointer !important;
    white-space:nowrap !important;
}

body:not(.pf-mod-kasse) .pf-btn:hover,
body:not(.pf-mod-kasse) a.pf-btn:hover,
body:not(.pf-mod-kasse) button.pf-btn:hover,
body:not(.pf-mod-kasse) .kas-v10-btn:hover,
body:not(.pf-mod-kasse) .konf-btn:hover,
body:not(.pf-mod-kasse) .jk-btn:hover,
body:not(.pf-mod-kasse) .proto-btn:hover,
body:not(.pf-mod-kasse) .verst-btn:hover{
    border-color:var(--pf-primary) !important;
    background:var(--pf-success-soft) !important;
    color:var(--pf-primary-hover) !important;
}

body:not(.pf-mod-kasse) .pf-btn--primary,
body:not(.pf-mod-kasse) .pf-btn--success,
body:not(.pf-mod-kasse) .primary,
body:not(.pf-mod-kasse) .green,
body:not(.pf-mod-kasse) .kas-v10-btn.primary,
body:not(.pf-mod-kasse) .kas-v9-btn.primary,
body:not(.pf-mod-kasse) .kas-v6-btn.primary,
body:not(.pf-mod-kasse) .konf-btn.primary,
body:not(.pf-mod-kasse) .konf-btn.green,
body:not(.pf-mod-kasse) .jk-btn.primary,
body:not(.pf-mod-kasse) .proto-btn.primary,
body:not(.pf-mod-kasse) .verst-btn.primary,
body:not(.pf-mod-kasse) .sp-btn.primary{
    background:var(--pf-primary) !important;
    border-color:var(--pf-primary) !important;
    color:#fff !important;
}

body:not(.pf-mod-kasse) .pf-btn--primary:hover,
body:not(.pf-mod-kasse) .pf-btn--success:hover,
body:not(.pf-mod-kasse) .primary:hover,
body:not(.pf-mod-kasse) .green:hover,
body:not(.pf-mod-kasse) .kas-v10-btn.primary:hover,
body:not(.pf-mod-kasse) .konf-btn.green:hover,
body:not(.pf-mod-kasse) .sp-btn.primary:hover{
    background:var(--pf-primary-hover) !important;
    border-color:var(--pf-primary-hover) !important;
    color:#fff !important;
}

body:not(.pf-mod-kasse) .pf-btn--danger,
body:not(.pf-mod-kasse) .danger,
body:not(.pf-mod-kasse) .red,
body:not(.pf-mod-kasse) .sp-delete-btn{
    background:var(--pf-danger-soft) !important;
    border-color:#f4a5a2 !important;
    color:#a6231f !important;
}

body:not(.pf-mod-kasse) .pf-btn--warning,
body:not(.pf-mod-kasse) .warning,
body:not(.pf-mod-kasse) .orange,
body:not(.pf-mod-kasse) .yellow{
    background:var(--pf-warning-soft) !important;
    border-color:#f5c88e !important;
    color:#8a3e08 !important;
}

body:not(.pf-mod-kasse) input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body:not(.pf-mod-kasse) select,
body:not(.pf-mod-kasse) textarea,
body:not(.pf-mod-kasse) .pf-input,
body:not(.pf-mod-kasse) .pf-select,
body:not(.pf-mod-kasse) .pf-textarea{
    width:100%;
    border:1px solid var(--pf-line-strong) !important;
    border-radius:var(--pf-radius) !important;
    background:#fff !important;
    color:var(--pf-text-strong) !important;
    font-family:inherit !important;
    font-size:15px !important;
    line-height:1.25 !important;
    padding:10px 12px !important;
    box-shadow:none !important;
}

body:not(.pf-mod-kasse) input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,
body:not(.pf-mod-kasse) select:focus,
body:not(.pf-mod-kasse) textarea:focus,
body:not(.pf-mod-kasse) .pf-input:focus,
body:not(.pf-mod-kasse) .pf-select:focus,
body:not(.pf-mod-kasse) .pf-textarea:focus{
    outline:0 !important;
    border-color:var(--pf-primary) !important;
    box-shadow:var(--pf-focus) !important;
}

body:not(.pf-mod-kasse) label,
body:not(.pf-mod-kasse) .pf-label,
body:not(.pf-mod-kasse) .pf-field label,
body:not(.pf-mod-kasse) .konf-form-grid label,
body:not(.pf-mod-kasse) .pf-user-rights-field label{
    color:var(--pf-text-strong) !important;
    font-family:inherit !important;
    font-size:13px !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
}

body:not(.pf-mod-kasse) .pf-grid,
body:not(.pf-mod-kasse) .pf-form-grid,
body:not(.pf-mod-kasse) .kas-form-grid,
body:not(.pf-mod-kasse) .konf-form-grid,
body:not(.pf-mod-kasse) .jk-form-grid,
body:not(.pf-mod-kasse) .proto-form-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
    gap:14px !important;
    align-items:start !important;
}

body:not(.pf-mod-kasse) table,
body:not(.pf-mod-kasse) .pf-table,
body:not(.pf-mod-kasse) .pf-list-table,
body:not(.pf-mod-kasse) .pf-data-table,
body:not(.pf-mod-kasse) .kas-v10-table,
body:not(.pf-mod-kasse) .pf-benutzer-kompakt-table{
    border-collapse:separate !important;
    border-spacing:0 !important;
    width:100% !important;
    background:#fff !important;
    color:var(--pf-text) !important;
}

body:not(.pf-mod-kasse) table th,
body:not(.pf-mod-kasse) .pf-table th,
body:not(.pf-mod-kasse) .pf-list-table th,
body:not(.pf-mod-kasse) .pf-data-table th,
body:not(.pf-mod-kasse) .kas-v10-table th,
body:not(.pf-mod-kasse) .pf-benutzer-kompakt-table th{
    background:#edf4ee !important;
    border-bottom:1px solid var(--pf-line) !important;
    color:var(--pf-text-strong) !important;
    font-family:inherit !important;
    font-size:13px !important;
    font-weight:850 !important;
    text-align:left !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}

body:not(.pf-mod-kasse) table td,
body:not(.pf-mod-kasse) .pf-table td,
body:not(.pf-mod-kasse) .pf-list-table td,
body:not(.pf-mod-kasse) .pf-data-table td,
body:not(.pf-mod-kasse) .kas-v10-table td,
body:not(.pf-mod-kasse) .pf-benutzer-kompakt-table td{
    border-bottom:1px solid #e5eee8 !important;
    color:var(--pf-text) !important;
    font-family:inherit !important;
    font-size:15px !important;
    line-height:1.35 !important;
}

body:not(.pf-mod-kasse) table tbody tr:nth-child(even) td,
body:not(.pf-mod-kasse) .pf-table tbody tr:nth-child(even) td,
body:not(.pf-mod-kasse) .pf-list-table tbody tr:nth-child(even) td,
body:not(.pf-mod-kasse) .pf-data-table tbody tr:nth-child(even) td,
body:not(.pf-mod-kasse) .kas-v10-table tbody tr:nth-child(even) td{
    background:#fbfdfb !important;
}

body:not(.pf-mod-kasse) table tbody tr:hover td,
body:not(.pf-mod-kasse) .pf-table tbody tr:hover td,
body:not(.pf-mod-kasse) .pf-list-table tbody tr:hover td,
body:not(.pf-mod-kasse) .pf-data-table tbody tr:hover td,
body:not(.pf-mod-kasse) .kas-v10-table tbody tr:hover td{
    background:#f0f7f2 !important;
}

body:not(.pf-mod-kasse) .pf-badge,
body:not(.pf-mod-kasse) .kas-badge,
body:not(.pf-mod-kasse) .konf-badge,
body:not(.pf-mod-kasse) .jk-badge,
body:not(.pf-mod-kasse) .ve-week-kw-badge,
body:not(.pf-mod-kasse) .verst-badge,
body:not(.pf-mod-kasse) .pf-benutzer-kompakt-status{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:24px !important;
    padding:4px 9px !important;
    border:1px solid var(--pf-line) !important;
    border-radius:999px !important;
    background:var(--pf-success-soft) !important;
    color:var(--pf-primary-hover) !important;
    font-size:12px !important;
    font-weight:850 !important;
    line-height:1 !important;
}

body:not(.pf-mod-kasse) .pf-start-page,
body:not(.pf-mod-kasse) .pf-user-start-wrap{
    max-width:1320px !important;
    margin-inline:auto !important;
}

body:not(.pf-mod-kasse) .pf-start-grid,
body:not(.pf-mod-kasse) .pf-user-start-grid{
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr)) !important;
    gap:14px !important;
}

body:not(.pf-mod-kasse) .pf-start-main-tile,
body:not(.pf-mod-kasse) .pf-start-link-tile,
body:not(.pf-mod-kasse) .pf-start-mini-tile,
body:not(.pf-mod-kasse) .pf-start-tile,
body:not(.pf-mod-kasse) .pf-user-start-tile,
body:not(.pf-mod-kasse) .pfs-tile,
body:not(.pf-mod-kasse) .kasual-tile{
    position:relative !important;
    overflow:hidden !important;
    min-height:132px !important;
    padding:18px !important;
    border:1px solid var(--pf-line) !important;
    border-radius:var(--pf-radius-lg) !important;
    background:#fff !important;
    color:var(--pf-text-strong) !important;
    box-shadow:var(--pf-shadow-soft) !important;
    text-decoration:none !important;
}

body:not(.pf-mod-kasse) .pf-start-main-tile::before,
body:not(.pf-mod-kasse) .pf-start-link-tile::before,
body:not(.pf-mod-kasse) .pf-start-mini-tile::before,
body:not(.pf-mod-kasse) .pf-start-tile::before,
body:not(.pf-mod-kasse) .pf-user-start-tile::before,
body:not(.pf-mod-kasse) .pfs-tile::before,
body:not(.pf-mod-kasse) .kasual-tile::before{
    content:"";
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--pf-primary),rgba(23,99,60,.18));
}

body:not(.pf-mod-kasse) .pf-start-main-tile:hover,
body:not(.pf-mod-kasse) .pf-start-link-tile:hover,
body:not(.pf-mod-kasse) .pf-start-mini-tile:hover,
body:not(.pf-mod-kasse) .pf-start-tile:hover,
body:not(.pf-mod-kasse) .pf-user-start-tile:hover,
body:not(.pf-mod-kasse) .pfs-tile:hover,
body:not(.pf-mod-kasse) .kasual-tile:hover{
    border-color:var(--pf-primary) !important;
    box-shadow:0 12px 26px rgba(18,42,31,.08) !important;
    transform:translateY(-1px);
}

body:not(.pf-mod-kasse) .pf-start-tile-icon,
body:not(.pf-mod-kasse) .pf-user-start-tile-icon{
    background:var(--pf-success-soft) !important;
    border:1px solid var(--pf-line) !important;
    border-radius:10px !important;
}

body:not(.pf-mod-kasse) .pf-start-tile-title,
body:not(.pf-mod-kasse) .pf-user-start-tile-title,
body:not(.pf-mod-kasse) .pfs-tile h3,
body:not(.pf-mod-kasse) .kasual-tile strong{
    color:var(--pf-text-strong) !important;
    font-size:clamp(18px, 1.25vw, 22px) !important;
    font-weight:850 !important;
    line-height:1.12 !important;
}

body:not(.pf-mod-kasse) .pf-start-tile-sub,
body:not(.pf-mod-kasse) .pf-user-start-tile-sub,
body:not(.pf-mod-kasse) .pfs-tile p{
    color:var(--pf-muted) !important;
    font-size:14px !important;
    line-height:1.35 !important;
}

body:not(.pf-mod-kasse) .kasual-main{
    background:var(--pf-primary) !important;
    border-color:var(--pf-primary) !important;
    color:#fff !important;
}

body:not(.pf-mod-kasse) details > summary{
    border:1px solid var(--pf-line) !important;
    border-radius:var(--pf-radius) !important;
    background:#fff !important;
    color:var(--pf-text-strong) !important;
    font-weight:850 !important;
}

@media (max-width: 900px){
    body:not(.pf-mod-kasse) .pf-wrap{
        width:min(100% - 20px, 100%) !important;
    }

    body:not(.pf-mod-kasse) .pf-card,
    body:not(.pf-mod-kasse) .pf-section,
    body:not(.pf-mod-kasse) .pf-panel,
    body:not(.pf-mod-kasse) .kas-card,
    body:not(.pf-mod-kasse) .konf-card,
    body:not(.pf-mod-kasse) .jk-card,
    body:not(.pf-mod-kasse) .ve-card,
    body:not(.pf-mod-kasse) .proto-card,
    body:not(.pf-mod-kasse) .sak-card{
        padding:14px !important;
    }

    body:not(.pf-mod-kasse) .pf-grid,
    body:not(.pf-mod-kasse) .pf-form-grid,
    body:not(.pf-mod-kasse) .kas-form-grid,
    body:not(.pf-mod-kasse) .konf-form-grid,
    body:not(.pf-mod-kasse) .jk-form-grid,
    body:not(.pf-mod-kasse) .proto-form-grid{
        grid-template-columns:1fr !important;
    }

    body:not(.pf-mod-kasse) .pf-toolbar,
    body:not(.pf-mod-kasse) .pf-filterbar,
    body:not(.pf-mod-kasse) .kas-v10-actions,
    body:not(.pf-mod-kasse) .kas-v9-actions,
    body:not(.pf-mod-kasse) .kas-v6-actions,
    body:not(.pf-mod-kasse) .konf-actions,
    body:not(.pf-mod-kasse) .jk-actions{
        align-items:stretch !important;
    }

    body:not(.pf-mod-kasse) .pf-toolbar > *,
    body:not(.pf-mod-kasse) .pf-filterbar > *,
    body:not(.pf-mod-kasse) .kas-v10-actions > *,
    body:not(.pf-mod-kasse) .kas-v9-actions > *,
    body:not(.pf-mod-kasse) .kas-v6-actions > *,
    body:not(.pf-mod-kasse) .konf-actions > *,
    body:not(.pf-mod-kasse) .jk-actions > *{
        flex:1 1 auto;
    }

    body:not(.pf-mod-kasse) .pf-btn,
    body:not(.pf-mod-kasse) a.pf-btn,
    body:not(.pf-mod-kasse) button.pf-btn,
    body:not(.pf-mod-kasse) .kas-v10-btn,
    body:not(.pf-mod-kasse) .konf-btn,
    body:not(.pf-mod-kasse) .jk-btn{
        white-space:normal !important;
    }

    body:not(.pf-mod-kasse) table,
    body:not(.pf-mod-kasse) .pf-table,
    body:not(.pf-mod-kasse) .pf-list-table,
    body:not(.pf-mod-kasse) .pf-data-table,
    body:not(.pf-mod-kasse) .kas-v10-table{
        min-width:760px;
    }
}

@media (max-width: 620px){
    body:not(.pf-mod-kasse){
        font-size:15px;
    }

    body:not(.pf-mod-kasse) .pf-start-grid,
    body:not(.pf-mod-kasse) .pf-user-start-grid,
    body:not(.pf-mod-kasse) .pf-start-mobile-grid{
        grid-template-columns:1fr !important;
    }

    body:not(.pf-mod-kasse) .pf-start-main-tile,
    body:not(.pf-mod-kasse) .pf-start-link-tile,
    body:not(.pf-mod-kasse) .pf-start-mini-tile,
    body:not(.pf-mod-kasse) .pf-start-tile,
    body:not(.pf-mod-kasse) .pf-user-start-tile,
    body:not(.pf-mod-kasse) .pfs-tile,
    body:not(.pf-mod-kasse) .kasual-tile{
        min-height:104px !important;
        padding:15px !important;
    }
}

/* PFARRAMT APP SHELL FOR DIRECT MODULES V1
   Gemeinsamer Rahmen fuer Direktmodule, die ausserhalb der alten Index-Shell rendern. */
body.pf-app{
    margin:0;
    background:#f4f7f2;
    color:#0c1f18;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body.pf-app .pf-app-header{
    background:#10452f;
    color:#fff;
    box-shadow:0 12px 28px rgba(13,43,31,.16);
}

body.pf-app .pf-app-header-inner{
    max-width:1320px;
    margin:0 auto;
    padding:20px 24px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
}

body.pf-app .pf-app-title{
    font-size:24px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:0;
}

body.pf-app .pf-app-subtitle{
    margin-top:4px;
    color:rgba(255,255,255,.86);
    font-size:15px;
}

body.pf-app .pf-app-nav{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

body.pf-app .pf-btn.pf-btn-header{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.28);
    color:#fff;
    min-height:38px;
    padding:8px 12px;
    border-radius:8px;
    box-shadow:none;
}

body.pf-app .pf-btn.pf-btn-header:hover{
    background:rgba(255,255,255,.16);
}

body.pf-app .pf-mail-main{
    padding:0;
}

@media (max-width: 720px){
    body.pf-app .pf-app-header-inner{
        padding:16px;
        align-items:flex-start;
    }

    body.pf-app .pf-app-nav{
        width:100%;
    }

    body.pf-app .pf-btn.pf-btn-header{
        flex:1 1 calc(50% - 8px);
        justify-content:center;
    }
}

/* PFARRAMT MAIL EINGAENGE V1
   Ruhige Moduloberflaeche fuer gemeinsame Mail-Abfrage: GKR, Finanzen, Termine. */
body:not(.pf-mod-kasse) .pf-mail-page{
    max-width:1320px;
    margin:0 auto;
    padding:24px;
}

body:not(.pf-mod-kasse) .pf-mail-page .pf-page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}

body:not(.pf-mod-kasse) .pf-mail-page .pf-page-head h1{
    margin:0 0 6px;
}

body:not(.pf-mod-kasse) .pf-mail-account-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:16px;
}

body:not(.pf-mod-kasse) .pf-mail-account{
    border-left:4px solid var(--pf-primary);
}

body:not(.pf-mod-kasse) .pf-mail-account-kicker{
    color:var(--pf-muted);
    font-size:13px;
    font-weight:750;
    margin-bottom:6px;
}

body:not(.pf-mod-kasse) .pf-mail-account h2{
    margin-top:0;
}

body:not(.pf-mod-kasse) .pf-mail-account dl{
    display:grid;
    grid-template-columns:max-content 1fr;
    gap:5px 10px;
    margin:12px 0 0;
    font-size:13px;
}

body:not(.pf-mod-kasse) .pf-mail-account dt{
    color:var(--pf-muted);
    font-weight:750;
}

body:not(.pf-mod-kasse) .pf-mail-account dd{
    margin:0;
}

body:not(.pf-mod-kasse) .pf-mail-table td{
    vertical-align:top;
}

body:not(.pf-mod-kasse) .pf-inline-form{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin:0;
}

body:not(.pf-mod-kasse) .pf-mail-setup ul{
    margin:14px 0 18px;
    padding-left:20px;
}

@media (max-width: 900px){
    body:not(.pf-mod-kasse) .pf-mail-page{
        padding:14px;
    }

    body:not(.pf-mod-kasse) .pf-mail-page .pf-page-head{
        display:block;
    }

    body:not(.pf-mod-kasse) .pf-mail-account-grid{
        grid-template-columns:1fr;
    }
}
