.ha-vm-kasse{max-width:1180px;margin:0 auto;padding:24px 16px;color:#111}.ha-vm-kasse h5{font-size:1.25rem;margin:0 0 18px}.ha-vm-kasse-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.ha-vm-kasse-nav a,.ha-vm-kasse-actions a,.ha-vm-kasse-filter-reset{display:inline-block;padding:10px 14px;border:1px solid #1667a8;text-decoration:none}.ha-vm-kasse-nav a.active,.ha-vm-kasse button{background:#1667a8;color:#fff}.ha-vm-kasse-cards{display:grid;gap:14px;margin-bottom:22px}.ha-vm-kasse-cards-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.ha-vm-kasse-cards-secondary{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:32px}.ha-vm-kasse-card{border:1px solid #d9d9d9;padding:18px;color:inherit;text-decoration:none;background:#fff}.ha-vm-kasse-card strong,.ha-vm-kasse-card span{display:block}.ha-vm-kasse-card-large span{font-size:1.6rem;margin-top:8px}.ha-vm-kasse-card-small{padding:14px}.ha-vm-kasse-card-small span{font-size:1.2rem;margin-top:6px}.ha-vm-kasse-card-link:hover{border-color:#1667a8}.ha-vm-kasse-heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.ha-vm-kasse-heading-row a{text-decoration:none}.ha-vm-kasse-table-wrap{overflow-x:auto}.ha-vm-kasse-table{width:100%;border-collapse:collapse}.ha-vm-kasse-table th,.ha-vm-kasse-table td{padding:10px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}.ha-vm-kasse-table tbody tr:nth-child(odd){background:#f5f5f5}.ha-vm-kasse-table tr.inactive{opacity:.55}.ha-vm-kasse-table .money{text-align:right;white-space:nowrap}.ha-vm-kasse-table .actions{white-space:nowrap}.ha-vm-kasse-form,.ha-vm-kasse-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ha-vm-kasse-filters{grid-template-columns:2fr .8fr 1fr 1.6fr auto auto;align-items:end;margin-bottom:20px}.ha-vm-kasse label{font-weight:600}.ha-vm-kasse input,.ha-vm-kasse select,.ha-vm-kasse textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #aaa;background:#fff;color:#111}.ha-vm-kasse .wide{grid-column:1/-1}.ha-vm-kasse button{border:0;padding:11px 16px;cursor:pointer}.ha-vm-kasse-delete{margin-top:24px}.ha-vm-kasse-delete button{background:#8f1d1d}.ha-vm-kasse-notice,.ha-vm-kasse-message{padding:12px;border-left:4px solid #1667a8;background:#eef6fc;margin-bottom:18px}.ha-vm-kasse-category-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:28px}.ha-vm-kasse-category-form{grid-template-columns:1fr}.ha-vm-kasse-inline-form{margin:0}.ha-vm-kasse-inline-form button{padding:7px 10px;background:#666}.ha-vm-kasse-filter-reset{text-align:center;background:#fff;color:#1667a8}@media(max-width:980px){.ha-vm-kasse-cards-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.ha-vm-kasse-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ha-vm-kasse-category-layout{grid-template-columns:1fr}}@media(max-width:760px){.ha-vm-kasse-cards-primary,.ha-vm-kasse-cards-secondary,.ha-vm-kasse-form,.ha-vm-kasse-filters{grid-template-columns:1fr}.ha-vm-kasse .wide{grid-column:auto}.ha-vm-kasse-heading-row{align-items:flex-start;flex-direction:column}}

/* Kategorien: vom Theme unabhängige linke Ausrichtung und getrennte Aktionen. */
.ha-vm-kasse .ha-vm-kasse-category-table th,
.ha-vm-kasse .ha-vm-kasse-category-table td{
    text-align:left!important;
}
.ha-vm-kasse .ha-vm-kasse-category-table th:first-child,
.ha-vm-kasse .ha-vm-kasse-category-table td:first-child{
    padding-left:12px!important;
}
.ha-vm-kasse-category-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    justify-content:flex-start;
    align-items:center;
}
.ha-vm-kasse .ha-vm-kasse-category-delete{
    background:#8f1d1d;
}
@media(max-width:760px){
    .ha-vm-kasse-category-actions{align-items:stretch;flex-direction:column}
    .ha-vm-kasse-category-actions button{width:100%}
}

/* Kategorie-Ersetzung beim Löschen. */
.ha-vm-kasse-reassign{
    margin:0 0 28px;
    padding:20px;
    border:1px solid #d9d9d9;
    background:#f8fbfd;
}
.ha-vm-kasse-reassign p{margin:0 0 16px}
.ha-vm-kasse-reassign-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.ha-vm-kasse-new-category{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:14px;
    border:1px solid #ccd9e2;
}
.ha-vm-kasse-new-category legend{font-weight:700;padding:0 6px}
@media(max-width:760px){
    .ha-vm-kasse-reassign-form,.ha-vm-kasse-new-category{grid-template-columns:1fr}
}

/* Vereins Manager 2.25.4: reduzierte Kategorienverwaltung. */
.ha-vm-kasse .ha-vm-kasse-category-table th:nth-child(3),
.ha-vm-kasse .ha-vm-kasse-category-table td:nth-child(3){
    width:110px;
}
.ha-vm-kasse .ha-vm-kasse-category-table td.ha-vm-kasse-category-child{
    padding-left:28px!important;
}

/* Vereins Manager 2.25.5: Import von Kontoauszügen. */
.ha-vm-kasse-import-form input[type="file"] { width: 100%; padding: .75rem; border: 1px solid #cfd6dc; background: #fff; }
.ha-vm-kasse-import-summary { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; padding: 1rem; margin: 1rem 0; background: #eef5f8; }
.ha-vm-kasse-import-summary span { padding-left: 1rem; border-left: 1px solid #b9c8d1; }
.ha-vm-kasse-import-duplicate { opacity: .58; }

/* Vereins Manager 2.25.6: Kasse ohne Theme-Sidebar und konsequent linksbündig. */
body.ha-vm-kasse-full-width #page .s1,
body.ha-vm-kasse-full-width #page .s2,
body.ha-vm-kasse-full-width #page #sidebar,
body.ha-vm-kasse-full-width #page #sidebar-primary,
body.ha-vm-kasse-full-width #page #sidebar-secondary,
body.ha-vm-kasse-full-width #page aside.sidebar,
body.ha-vm-kasse-full-width #page .sidebar-primary,
body.ha-vm-kasse-full-width #page .sidebar-secondary,
body.ha-vm-kasse-full-width #page .widget-area,
body.ha-vm-kasse-full-width #page aside.widget-area {
    display: none !important;
}
body.ha-vm-kasse-full-width #page .main,
body.ha-vm-kasse-full-width #page .main-inner,
body.ha-vm-kasse-full-width #page .content,
body.ha-vm-kasse-full-width #page #content,
body.ha-vm-kasse-full-width #page .content-inner,
body.ha-vm-kasse-full-width #page .site-content,
body.ha-vm-kasse-full-width #page .content-area {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}
body.ha-vm-kasse-full-width #page .main-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.ha-vm-kasse-full-width #page .main .pad,
body.ha-vm-kasse-full-width #page #content > .pad,
body.ha-vm-kasse-full-width #page .content > .pad {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
.ha-vm-kasse,
.ha-vm-kasse h5,
.ha-vm-kasse p,
.ha-vm-kasse nav,
.ha-vm-kasse form,
.ha-vm-kasse label,
.ha-vm-kasse .ha-vm-kasse-card,
.ha-vm-kasse .ha-vm-kasse-import-summary,
.ha-vm-kasse .ha-vm-kasse-notice,
.ha-vm-kasse .ha-vm-kasse-message {
    text-align: left !important;
}
.ha-vm-kasse .ha-vm-kasse-table th,
.ha-vm-kasse .ha-vm-kasse-table td {
    text-align: left !important;
}
.ha-vm-kasse .ha-vm-kasse-table th.money,
.ha-vm-kasse .ha-vm-kasse-table td.money,
.ha-vm-kasse .money {
    text-align: right !important;
}
.ha-vm-kasse-nav,
.ha-vm-kasse-actions,
.ha-vm-kasse-heading-row,
.ha-vm-kasse-import-summary {
    justify-content: flex-start;
}

/* Vereins Manager 2.26.0: Belegstatus und Drag-and-drop. */
.ha-vm-kasse-bookings-table tbody tr.ha-vm-kasse-receipt-status-missing-receipt{background:#fff1dc!important}
.ha-vm-kasse-bookings-table tbody tr.ha-vm-kasse-receipt-status-with-receipt,
.ha-vm-kasse-bookings-table tbody tr.ha-vm-kasse-receipt-status-no-receipt-required{background:#e7f6e9!important}
.ha-vm-kasse-bookings-table tbody tr.ha-vm-kasse-receipt-uploading{opacity:.65}
.ha-vm-kasse-receipt-cell{width:58px;text-align:center!important}
.ha-vm-kasse-dropzone{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border:1px dashed transparent;cursor:pointer}
.ha-vm-kasse-dropzone.is-dragover{border-color:#1667a8;background:#fff}
.ha-vm-kasse-status-dot{display:block;width:15px;height:15px;border-radius:50%;background:#dc8a13;box-shadow:0 0 0 2px rgba(0,0,0,.08)}
.ha-vm-kasse-receipt-status-with-receipt .ha-vm-kasse-status-dot,
.ha-vm-kasse-receipt-status-no-receipt-required .ha-vm-kasse-status-dot{background:#318a45}
.ha-vm-kasse-receipt-help{margin-top:12px;font-size:.95em}
.ha-vm-kasse-category-table th:nth-child(3),.ha-vm-kasse-category-table td:nth-child(3){width:110px}


/* Vereins Manager UI-Standard 1.0 */
.ha-vm-kasse{font-family:"Titillium Web",sans-serif;text-align:left}
.ha-vm-kasse input:not([type="checkbox"]):not([type="radio"]),
.ha-vm-kasse select,
.ha-vm-kasse button,
.ha-vm-kasse .ha-vm-kasse-filter-reset{
    min-height:42px;height:42px;box-sizing:border-box;font:inherit;line-height:1.2;
}
.ha-vm-kasse textarea{font:inherit;box-sizing:border-box}
.ha-vm-kasse input,.ha-vm-kasse select,.ha-vm-kasse textarea{border-radius:0}
.ha-vm-kasse button,.ha-vm-kasse .ha-vm-kasse-filter-reset{border-radius:0;padding:0 16px}
.ha-vm-kasse-filters{grid-template-columns:minmax(260px,2fr) 110px 150px minmax(190px,1.4fr) 110px 120px;gap:14px;align-items:end}
.ha-vm-kasse-filters label{margin:0}
.ha-vm-kasse-filters input,.ha-vm-kasse-filters select{margin-top:6px}
.ha-vm-kasse-rule-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:28px;align-items:start}
.ha-vm-kasse-rule-form{grid-template-columns:1fr 1fr}
.ha-vm-kasse-rule-delete{background:#8f1d1d!important}
.ha-vm-kasse-rule-test{display:grid;grid-template-columns:minmax(280px,560px) 110px;gap:14px;align-items:end;margin-top:28px}
.ha-vm-kasse-checkbox{display:flex!important;align-items:center;gap:8px;min-height:42px;margin-top:24px}
.ha-vm-kasse-checkbox input{width:auto!important;margin:0!important}
@media(max-width:1100px){.ha-vm-kasse-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.ha-vm-kasse-rule-layout{grid-template-columns:1fr}}
@media(max-width:760px){.ha-vm-kasse-filters,.ha-vm-kasse-rule-form,.ha-vm-kasse-rule-test{grid-template-columns:1fr}.ha-vm-kasse-filters button,.ha-vm-kasse-filter-reset{width:100%}}


/* Vereins Manager 2.27.1: einheitliche Navigation, Filter und sortierbare Tabellen. */
.ha-vm-kasse-nav{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    width:100%;
    margin-bottom:28px;
}
.ha-vm-kasse-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-width:0;
    height:42px;
    padding:0 10px;
    box-sizing:border-box;
    text-align:center!important;
    white-space:nowrap;
}
.ha-vm-kasse-filters{
    grid-template-columns:minmax(280px,2fr) 110px 150px minmax(210px,1.35fr) 110px 120px;
    column-gap:20px;
    row-gap:14px;
    align-items:end;
    margin-bottom:20px;
}
.ha-vm-kasse-filters label{
    min-width:0;
    padding:0;
}
.ha-vm-kasse-filters button,
.ha-vm-kasse .ha-vm-kasse-filter-reset{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:42px;
    min-height:42px;
    padding:0 14px;
    margin:0;
    box-sizing:border-box;
    text-align:center!important;
    background:#1667a8;
    color:#fff;
    border:1px solid #1667a8;
    text-decoration:none;
}
.ha-vm-kasse-filters button:hover,
.ha-vm-kasse .ha-vm-kasse-filter-reset:hover{
    background:#125789;
    color:#fff;
}
.ha-vm-kasse-table th.ha-vm-kasse-sortable{padding:0}
.ha-vm-kasse-table th.ha-vm-kasse-sortable a{
    display:block;
    padding:10px;
    color:inherit;
    text-decoration:none;
    white-space:nowrap;
}
.ha-vm-kasse-table th.ha-vm-kasse-sortable a:hover,
.ha-vm-kasse-table th.ha-vm-kasse-sortable a:focus{
    background:#eaf2f8;
    color:#1667a8;
}
@media(max-width:1100px){
    .ha-vm-kasse-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ha-vm-kasse-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
    .ha-vm-kasse-nav{grid-template-columns:1fr 1fr}
    .ha-vm-kasse-nav a{white-space:normal}
    .ha-vm-kasse-filters{grid-template-columns:1fr}
}

/* Vereins Manager 2.27.2: Kategorien und Unterkategorien überall alphabetisch. */

/* Vereins Manager 2.27.3: Kategorien – einheitliche Zeilenhöhe und kompaktere Löschbuttons. */
.ha-vm-kasse-category-table tbody tr{
    height:52px;
}
.ha-vm-kasse-category-table tbody td{
    height:52px;
    min-height:52px;
    padding-top:0;
    padding-bottom:0;
    vertical-align:middle!important;
    box-sizing:border-box;
}
.ha-vm-kasse-category-table .ha-vm-kasse-inline-form{
    display:flex;
    align-items:center;
    min-height:52px;
    margin:0;
}
.ha-vm-kasse-category-table .ha-vm-kasse-category-delete{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:82px;
    height:34px;
    min-height:34px;
    padding:0 12px;
    margin:0;
    line-height:1;
    box-sizing:border-box;
}
@media(max-width:760px){
    .ha-vm-kasse-category-table tbody tr,
    .ha-vm-kasse-category-table tbody td{
        height:auto;
        min-height:52px;
    }
}


/* Vereins Manager 2.27.6: Belegfelder im vereinbarten Design. */
.ha-vm-kasse-bookings-table .ha-vm-kasse-receipt-cell {
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    text-align: center !important;
    vertical-align: middle !important;
    box-sizing: border-box;
}
.ha-vm-kasse-dropzone {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 104px !important;
    min-width: 104px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    cursor: pointer;
    box-sizing: border-box;
}
.ha-vm-kasse-dropzone input[type="file"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    overflow: hidden !important;
}
.ha-vm-kasse-receipt-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    margin: 0 auto !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    font: inherit !important;
    font-weight: 600 !important;
    line-height: 32px !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer;
}
.ha-vm-kasse-receipt-button-upload {
    color: #1667a8 !important;
    background: #eef7fd !important;
    border-color: #a9cfea !important;
}
.ha-vm-kasse-receipt-button-upload:hover,
.ha-vm-kasse-receipt-button-upload:focus,
.ha-vm-kasse-dropzone.is-dragover .ha-vm-kasse-receipt-button-upload {
    color: #125789 !important;
    background: #dceefa !important;
    border-color: #7fb7dc !important;
}
.ha-vm-kasse-receipt-button-view {
    color: #ffffff !important;
    background: #1667a8 !important;
    border-color: #1667a8 !important;
}
.ha-vm-kasse-receipt-button-view:hover,
.ha-vm-kasse-receipt-button-view:focus {
    color: #ffffff !important;
    background: #125789 !important;
    border-color: #125789 !important;
}
.ha-vm-kasse-receipt-button-none {
    color: #5f6b75 !important;
    background: #f3f4f5 !important;
    border-color: #dde1e4 !important;
    cursor: default !important;
}
.ha-vm-kasse-receipt-button-disabled {
    cursor: default !important;
    opacity: 1 !important;
}
.ha-vm-kasse-status-dot {
    display: none !important;
}
.ha-vm-kasse-bookings-table tbody tr.ha-vm-kasse-receipt-status-missing-receipt {
    background: #fff1dc !important;
}
.ha-vm-kasse-bookings-table tbody tr.ha-vm-kasse-receipt-status-with-receipt,
.ha-vm-kasse-bookings-table tbody tr.ha-vm-kasse-receipt-status-no-receipt-required {
    background: #e7f6e9 !important;
}
@media (max-width: 760px) {
    .ha-vm-kasse-bookings-table .ha-vm-kasse-receipt-cell {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
    }
}


/* Vereins Manager 2.27.7: kompakte, jahresbezogene Dashboard-Auswertung. */
.ha-vm-kasse-dashboard-year{
    display:flex;
    align-items:flex-end;
    gap:10px;
    margin:0 0 16px;
}
.ha-vm-kasse-dashboard-year label{
    width:150px;
    margin:0;
}
.ha-vm-kasse-dashboard-year select,
.ha-vm-kasse-dashboard-year button{
    height:38px;
    min-height:38px;
    box-sizing:border-box;
}
.ha-vm-kasse-dashboard-year button{
    padding:7px 16px;
}
.ha-vm-kasse-category-heading{
    margin:4px 0 10px!important;
}
.ha-vm-kasse-cards-ten{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-bottom:24px;
}
.ha-vm-kasse-cards-ten .ha-vm-kasse-card-small{
    min-height:58px;
    padding:9px 11px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.ha-vm-kasse-cards-ten .ha-vm-kasse-card-small strong{
    line-height:1.15;
}
.ha-vm-kasse-cards-ten .ha-vm-kasse-card-small span{
    font-size:1.05rem;
    line-height:1.15;
    margin-top:4px;
}
@media(max-width:980px){
    .ha-vm-kasse-cards-ten{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .ha-vm-kasse-dashboard-year{align-items:stretch;flex-direction:column}
    .ha-vm-kasse-dashboard-year label{width:100%}
    .ha-vm-kasse-cards-ten{grid-template-columns:1fr}
}

/* Zahlungseingänge prüfen */
.ha-vm-income-review{margin-top:18px}
.ha-vm-income-bulk{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:auto 180px minmax(220px,1fr) auto;gap:10px;align-items:end;background:#fff;border:1px solid #cfd8e3;padding:12px;margin-bottom:16px}
.ha-vm-income-bulk label{margin:0}
.ha-vm-income-bulk select,.ha-vm-income-bulk input{width:100%;min-height:38px}
.ha-vm-income-group{border:1px solid #d6dee7;background:#fff;margin-bottom:16px}
.ha-vm-income-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#eef5fb;border-bottom:1px solid #d6dee7}
.ha-vm-income-group-head label{margin:0;font-size:1rem}
.ha-vm-income-group-head span{color:#5d6670;white-space:nowrap}
.ha-vm-income-table th:first-child,.ha-vm-income-table td:first-child{width:42px;text-align:center}
.ha-vm-income-table select{min-width:115px}
.ha-vm-income-table input[type="text"]{min-width:230px;width:100%}
.ha-vm-income-footer{display:flex;justify-content:flex-end;margin:14px 0 22px}
.ha-vm-income-commit{border-top:2px solid #1f6fae;padding-top:16px;margin-top:22px}
.ha-vm-income-commit p{color:#5d6670;margin:8px 0 0}
@media(max-width:900px){.ha-vm-income-bulk{grid-template-columns:1fr 1fr}.ha-vm-income-table input[type="text"]{min-width:180px}}
@media(max-width:620px){.ha-vm-income-bulk{grid-template-columns:1fr;position:static}}
