﻿
/**** Diese Style-Datei ist dafür vorgesehen MudBlazor Styles zu überschreiben ****/

/*
  Erklärung:
  Das wird benötigt wenn z.B. eine Scrollbar in einem MudDataGrid ausgeblendet/manipuliert werden soll.
  Dies kann nicht in der Komponenten-CSS-Datei geschehen, da die MudBlazor Styles nach den Komponenten-Styles geladen/geschrieben werden.

  Die Klassen sollten mit dem Präfix "tsz-" beginnen, damit sie nicht mit den MudBlazor Styles kollidieren 
  und für Mitarbeiter leichter zu identifizieren sind.

  Die Klassen können direkt in das "Class"-Attribut des MudBlazor Elements geschrieben werden.
*/

/*DataGrid-Style anpassen*/


/*.tsz-mitarbeiterDatagrid-headerSpalten table:first-of-type th:first-child,
.tsz-mitarbeiterDatagrid-headerSpalten table:first-of-type td:first-child {
    max-width: 0px !important;
    padding: 0px !important;
}*/


.tsz-svg-größe-24px {
    height: 24px !important;
}

/*.tsz-mitarbeiterDatagrid-headerSpalten td:first-child button {
    display: none !important;
}
*/
.tsz-mudDataGrid-mindestBreite .mud-table-container {
    min-width: 100% !important;
}

/*Scrollbar im DataGrid anpassen*/
.tsz-mudDataGrid-ohneScrollbar .mud-table-container {
    overflow-y: hidden;
}

.tsz-muddatagrid-headerSpalten th {
    font-weight: bold !important;
}

/*Padding der Spalten im DataGrid anpassen*/
.tsz-muddatagrid-headerSpalten th,
.tsz-muddatagrid-headerSpalten td {
    padding: 6px 8px !important;
}

.tsz-ohne-optionen span.column-options.cursor-pointer {
    display: none !important;
}

.tsz-muddatagrid-headerSpalten th.optionsspalte-einblenden span.column-options.cursor-pointer {
    display: flex !important;
}

.tsz-max-content {
    width: max-content !important;
}

    .tsz-max-content table, tsz-max-content .mud-drop-container {
        width: max-content !important;
    }

.tsz-aktionsSpalte,
.tsz-aktionsSpalte span {
    /*margin-left: 0px !important;*/
    /*margin-right: revert !important;*/
    /*width: max-content !important;*/
}

.tsz-spalte {
    max-width: 200px;
    overflow: hidden;
}
/*MitarbeiterGrid*/


.tsz-mitarbeiterDatagrid-headerSpalten div table > thead th:first-child, .tsz-mitarbeiterDatagrid-headerSpalten div table > tbody td:first-child {
    max-width: 0px !important;
    padding: 0px !important;
}

.tsz-hierarchyColumn {
    max-width: 40px !important;
}

.tsz-spaltenbreite-normalisieren div table > thead th:first-child, .tsz-spaltenbreite-normalisieren div table > tbody td:first-child {
    max-width: max-content !important;
    padding: 6px 8px !important;
}

.tsz-mitarbeiterExpansionspanel {
    background: var(--tsz-blaugrau) !important;
}

    .tsz-mitarbeiterExpansionspanel .mud-expand-panel-header {
        padding: 5px 10px !important;
    }

.tsz-suchfeld mud-input-control {
    justify-content: end !important;
}

/*MitarbeiterGrid ende*/
/* MudDateRangepicker */
.tsz-dateRangePicker-positionierung {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%,-50%) !important;
}

/* MudDateRangepicker ende */

.tsz-summenzeilen td {
    font-weight: bold !important;
}

.tsz-jahresübersicht-headerspalten span.column-header {
    justify-content: center !important;
}

/* Farben / Colors*/
.tsz-summenzeilen-farbe {
    background-color: var(--tsz-jahresübersicht-summenfarbe) !important;
}

/* Farben / Colors ende*/


/*MitarbeiterDialog*/

.tsz-tabs-größe {
    width: 780px !important;
    min-height: 765px !important;
}

.tsz-tabs-maxwidth {
    max-width: 780px !important;
}

/*MitarbeiterDialog ende*/

/* Berechtigungsdialog */
.tsz-berechtigungsdialog-tabs-größe {
    width: 780px !important;
    min-height: 500px !important;
}

/* Berechtigungsdialog Ende */

/* AZ Regel Monat */
.tsz-azregelmonat-tabs-größe {
    width: 700px !important;
    min-height: 420px !important;
}

/* AZ Regel Monat Ende */

/* AZ Regel Tag */
.tsz-azregeltag-tabs-größe {
    width: 800px !important;
    min-height: 440px !important;
}

.tsz-azregeltag-spalten-breite {
    width: 100px !important;
}

/* AZ Regel Tag Ende */


/* Sorgt dafür, dass der Aufklapper links erscheint, statt rechts */
.mud-expand-panel-header {
    flex-direction: row-reverse;
}

/* Rows üer Page ausblenden */
.mud-table-pagination-select
{
    visibility:hidden;
}

.mud-alert-message {
    padding: 7px 0;
}

.tsz-MudEditor .mud-input > input.mud-input-root-outlined {
    padding-bottom: 13px;
    padding-top: 13px;
}

/* Das macht den Infolabel bei Mud-Editoren grau, statt schwarz */
.mud-shrink ~ label.mud-input-label.mud-input-label-inputcontrol {
    color: grey;
}

.mud-input-outlined-with-label legend {
    padding: 0 12px !important;
}

.mud-input-outlined-border legend {
    padding: 0 12px !important;
}

.tsz-mudselect .mud-typography-subtitle1 {
    line-height: var(--mud-typography-default-lineheight) !important;
}
.tsz-mudselect .mud-input > input.mud-input-root-outlined.mud-input-root-margin-dense, div.mud-input-slot.mud-input-root-outlined.mud-input-root-margin-dense {
    padding-bottom: 6.5px;
}

/* Date-Range Picker >> zweite Datum rechtsbündig */
.mud-input-input-control + svg + .mud-input-input-control {
    text-align:right;
}

.mud-table-empty-row
{
    text-align: left;
}
/*.tsz-datepicker .mud-input-label {
    transform: translateY(-0.75em) scale(1) !important;
    transform-origin: top left;
    transition: none;
}*/
.classic-tabs {
    font-family: 'Open Sans', sans-serif;
    text-transform: none !important;
    /*    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0;
*/ font-weight: normal;
    font-size: 10pt;
}

.classic-tabs-bold {
    font-family: 'Open Sans', sans-serif;
    text-transform: none !important;
    /*    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0;
*/ font-weight: bold !important;
    font-size: 10pt;
}

/*.classic-tab {
    font-family: 'Open Sans', sans-serif;  Hier wird die Schriftart gesetzt 
    text-transform: none !important;
    border: 1px solid #ccc;
    border-bottom: none;
    background-color: white;
    padding: 0px 5px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    font-weight: normal;
    color: #333;
    background-color: white;
    font-size: 10pt;
}
*/
/*.mud-tab.mud-tab-active.classic-tab {
    background-color: white;
    border-bottom: 1px solid white;  Übergang zum Panel 
}

.mud-tabpanel {
    border-top: 1px solid #ccc;
    background-color: white;
    padding: 5px;
}*/

/* Border um Tagessumme mit ausgeklappten Buchungen */

/* ===== ÄUSSERES Grid rahmen; Gruppen & Nested korrekt behandeln ===== */
.tsz-grid-framed .mud-table {
    border-collapse: separate;
    border-spacing: 0;
    box-sizing: border-box;
}

    .tsz-grid-framed .mud-table td,
    .tsz-grid-framed .mud-table th {
        border: 0 !important;
    }

/* Gruppenzeilen NIE rahmen (erkennbar an indented-td) */
.tsz-grid-framed .mud-table-body tr:has(> td.mud-row-group-indented-1) > td {
    border: 0 !important;
}

/* ===== OBERER Rahmen: NUR Datenzeile, WENN direkt Child folgt ===== */
.tsz-grid-framed .mud-table-body
tr:not(:has(> td.mud-row-group-indented-1)):has(+ tr > td[colspan]) > td {
    border-top: 2px solid #5B7829 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
}

.tsz-grid-framed .mud-table-body
    tr:not(:has(> td.mud-row-group-indented-1)):has(+ tr > td[colspan]) > td:first-child {
        border-left: 2px solid #5B7829 !important;
        border-top-left-radius: 1px;
}

 .tsz-grid-framed .mud-table-body
    tr:not(:has(> td.mud-row-group-indented-1)):has(+ tr > td[colspan]) > td:last-child {
        border-right: 2px solid #5B7829 !important;
        border-top-right-radius: 1px;
 }

/* ===== UNTERER Rahmen: Child-Zeile – RAHMEN DIREKT auf der ZELLE ===== */
.tsz-grid-framed .mud-table-body
tr:not(:has(> td.mud-row-group-indented-1)) + tr > td[colspan] {
    padding: 0 !important;
    border-top: 0 !important;
    border-left: 2px solid #5B7829 !important;
    border-right: 2px solid #5B7829 !important;
    border-bottom: 2px solid #5B7829 !important;
    border-bottom-left-radius: 1px;
    border-bottom-right-radius: 1px;
}

    /* Inhalt im Child: nur Padding, KEIN Rahmen/Margin-Tricks */
.tsz-grid-framed .mud-table-body
    tr:not(:has(> td.mud-row-group-indented-1)) + tr > td[colspan] > .tsz-frame-child {
        box-sizing: border-box;
        padding: var(--frame-pad-y,12px) var(--frame-pad-x,16px);
        border: 0 !important;
        margin: 0 !important;
        width: auto !important;
}

/* ===== COLLAPSED Datenzeilen (ohne Child direkt darunter): kein Rahmen ===== */
.tsz-grid-framed .mud-table-body
tr:not(:has(> td.mud-row-group-indented-1)):not(:has(+ tr > td[colspan])) > td {
    border: 0 !important;
}

/* (optional) dezente Trenner nur zwischen zwei collapsed Nicht-Gruppen-Zeilen */
.tsz-grid-framed .mud-table-body
tr:not(:has(> td.mud-row-group-indented-1)):not(:has(+ tr > td[colspan])) + tr:not(:has(> td.mud-row-group-indented-1)):not(:has(+ tr > td[colspan])) > td {
    border-top: 1px solid var(--mud-palette-lines-default);
}

/* ===== PADDING-Angleichung (bündige Außenkanten) =========================== */
.tsz-grid-framed .mud-table-body tr > td:first-child {
    padding-left: var(--frame-pad-x,16px);
}

.tsz-grid-framed .mud-table-body tr > td:last-child {
    padding-right: var(--frame-pad-x,16px);
}

.tsz-grid-framed .mud-table-body tr > td.mud-data-grid-hierarchy-cell {
    padding-left: var(--frame-pad-x,16px);
}

/* ===== VERSCHACHTELTE Grids im Child: ALLES neutralisieren ================= */
.tsz-grid-framed .tsz-frame-child .mud-table {
    border-collapse: separate;
    border-spacing: 0;
}

    .tsz-grid-framed .tsz-frame-child .mud-table td,
    .tsz-grid-framed .tsz-frame-child .mud-table th {
        border: 0 !important;
    }
/* Keine obere-Rahmen-Logik & keine Child-Rahmen im INNEREN Grid */
.tsz-grid-framed .tsz-frame-child .mud-table-body tr:has(+ tr > td[colspan]) > td {
    border: 0 !important;
}

.tsz-grid-framed .tsz-frame-child .mud-table-body tr + tr > td[colspan] {
    padding: 0 !important;
    border: 0 !important;
}

/* Ende Border um Tagessumme mit ausgeklappten Buchungen */

/* Start Zeitschema */
.tsz--zeitschema-borders thead th,
.tsz--zeitschema-borders .mud-table-header th,
.tsz--zeitschema-borders .mud-table-header .mud-table-cell {
    border: 1px solid var(--mud-palette-lines-default, rgba(0,0,0,.12));
}

/* optional: gleiche Optik wie Body, engeres „Grid“-Gefühl */
.tsz--zeitschema-borders table {
    border-collapse: collapse;
}

.tsz-form-container-zeitschema {
    width: max-content;
    max-height: max-content;
    overflow-x: hidden;
}

/* Ende Zeitschema */
.tsz-tight-input .mud-input > textarea.mud-input-root-outlined.mud-input-root-margin-dense {
    padding-top: 4px !important; /* statt 8–12px */
    padding-bottom: 6px !important; /* etwas Luft unten lassen */
}

.tsz-tight-input .mud-input > textarea.mud-input-root-outlined 
{
    margin-bottom: 5px !important;
}

.tsz-dlg-right-actions .mud-dialog-actions {
    /* auf volle Dialogbreite ziehen */
    width: 100%;
    /* falls der Dialog ein Flex-Container ist: strecken */
    align-self: stretch;
    /* Buttons nach rechts */
    display: flex;
    justify-content: flex-end;
    gap: .5rem; /* optional Abstand zwischen Buttons */
}

.tsz-rg-block .mud-radio-group {
    display: block !important;
    margin-bottom: .5rem;
}

/* Bei MudSelectExtended für den Platzhalter die disabed Farbe verwenden, wenn das Control disabled ist */
.mud-select-extended .mud-disabled {
    --mud-palette-text-secondary: var(--mud-palette-text-disabled);
}