﻿/* ==========================================================
   W6 TreeGrid – GENERIC ROW STYLING
   Nur generisches Styling für Mandant / Partner / Parameter
   Keine modulspezifischen data-wiso-col-id Regeln
   ========================================================== */


/* ----------------------------------------------------------
   THEME TOKENS (Light)
   ---------------------------------------------------------- */
[data-wiso-theme="light"],
[data-wiso-theme="contrast-light"] {
    --w6-mandant-bg1: rgba(233, 241, 252, 0.99);
    --w6-mandant-bg2: rgba(213, 227, 246, 0.99);
    --w6-mandant-fg: #102033;
    --w6-mandant-fg-strong: #0b1a2b;
    --w6-mandant-ac1: #4f8ff7;
    --w6-mandant-ac2: #2f6fdd;
    --w6-mandant-hover1: rgba(226, 237, 252, 0.995);
    --w6-mandant-hover2: rgba(205, 222, 245, 0.995);
    --w6-mandant-selected1: rgba(201, 221, 247, 0.995);
    --w6-mandant-selected2: rgba(178, 205, 239, 0.995);
    --w6-mandant-selected-border: rgba(55, 101, 171, 0.52);
    --w6-mandant-selected-glow: rgba(79, 143, 247, 0.18);
    --w6-mandant-divider: rgba(88, 116, 156, 0.24);
    --w6-partner-bg1: rgba(243, 250, 246, 0.98);
    --w6-partner-bg2: rgba(227, 242, 233, 0.98);
    --w6-partner-fg: rgba(20, 29, 43, 0.94);
    --w6-partner-ac1: #38b777;
    --w6-partner-ac2: #23945e;
    --w6-param-bg: rgba(238, 245, 253, 0.96);
    --w6-param-bg-2: rgba(225, 237, 249, 0.98);
    --w6-param-border: rgba(90, 126, 170, 0.26);
    --w6-param-border-strong: rgba(79, 122, 180, 0.44);
    --w6-param-glow: rgba(76, 124, 197, 0.10);
    --w6-param-text: rgba(23, 34, 51, 0.94);
    --w6-param-hover1: rgba(231, 241, 252, 0.98);
    --w6-param-hover2: rgba(217, 232, 248, 0.99);
    --w6-param-selected1: rgba(214, 230, 250, 0.99);
    --w6-param-selected2: rgba(194, 217, 245, 0.99);
    --w6-row-radius: 10px;
    --w6-row-shadow: 0 1px 0 rgba(18, 32, 56, 0.05), 0 10px 22px rgba(18, 32, 56, 0.06);
    --w6-row-shadow-soft: 0 1px 0 rgba(18, 32, 56, 0.04), 0 6px 14px rgba(18, 32, 56, 0.05);
    --w6-mandant-before-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), inset 0 -1px 0 rgba(114, 141, 177, 0.18);
    --w6-partner-before-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.50), inset 0 -1px 0 rgba(111, 145, 126, 0.18);
}

/* ----------------------------------------------------------
   THEME TOKENS (Dark)
   ---------------------------------------------------------- */
[data-wiso-theme="dark"],
[data-wiso-theme="contrast-dark"] {
    --w6-mandant-bg1: rgba(18, 38, 66, 0.99);
    --w6-mandant-bg2: rgba(16, 49, 86, 0.985);
    --w6-mandant-fg: #f3f8ff;
    --w6-mandant-fg-strong: #ffffff;
    --w6-mandant-ac1: #60a5fa;
    --w6-mandant-ac2: #3b82f6;
    --w6-mandant-hover1: rgba(22, 45, 77, 0.995);
    --w6-mandant-hover2: rgba(20, 56, 98, 0.99);
    --w6-mandant-selected1: rgba(26, 63, 108, 0.995);
    --w6-mandant-selected2: rgba(30, 77, 128, 0.995);
    --w6-mandant-selected-border: rgba(116, 175, 255, 0.58);
    --w6-mandant-selected-glow: rgba(59, 130, 246, 0.22);
    --w6-mandant-divider: rgba(126, 164, 214, 0.22);
    --w6-partner-bg1: rgba(34, 52, 66, 0.92);
    --w6-partner-bg2: rgba(24, 42, 56, 0.96);
    --w6-partner-fg: rgba(255, 255, 255, 0.92);
    --w6-partner-ac1: #34d399;
    --w6-partner-ac2: #22c55e;
    --w6-param-bg: rgba(18, 34, 52, 0.82);
    --w6-param-bg-2: rgba(22, 40, 61, 0.88);
    --w6-param-border: rgba(88, 129, 173, 0.38);
    --w6-param-border-strong: rgba(88, 129, 173, 0.62);
    --w6-param-glow: rgba(11, 79, 158, 0.14);
    --w6-param-text: rgba(235, 244, 255, 0.96);
    --w6-param-hover1: rgba(22, 43, 67, 0.94);
    --w6-param-hover2: rgba(26, 49, 75, 0.96);
    --w6-param-selected1: rgba(18, 54, 92, 0.96);
    --w6-param-selected2: rgba(22, 66, 110, 0.98);
    --w6-row-radius: 10px;
    --w6-row-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), inset 0 -1px 0 rgba(0, 0, 0, 0.60);
    --w6-row-shadow-soft: inset 0 1px 0 rgba(255, 255, 255, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.50);
    --w6-mandant-before-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10), inset 0 -1px 0 rgba(0, 0, 0, 0.70);
    --w6-partner-before-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), inset 0 -1px 0 rgba(0, 0, 0, 0.55);
}

:root {
    --w6-mandant-row-height: 40px;
}

/* ----------------------------------------------------------
   Baseline
   ---------------------------------------------------------- */
.wiso_grid .wiso_grid-row {
    position: relative !important;
    overflow: visible !important;
}

    .wiso_grid .wiso_grid-row > .wiso_grid-cell {
        position: relative !important;
        z-index: 2 !important;
    }

    /* ==========================================================
   MANDANT
   ========================================================== */
    .wiso_grid .wiso_grid-row.wiso_row_mandant {
        position: relative !important;
        background: transparent !important;
        color: var(--w6-mandant-fg) !important;
        border: none !important;
        border-radius: 12px !important;
        overflow: visible !important;
        box-shadow: none !important;
    }

        .wiso_grid .wiso_grid-row.wiso_row_mandant::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            z-index: 1;
            pointer-events: none;
            border-radius: 12px;
            background: linear-gradient(135deg, var(--w6-mandant-bg1), var(--w6-mandant-bg2));
            border: 1px solid var(--w6-mandant-divider);
            box-shadow: var(--w6-mandant-before-shadow), 0 10px 24px rgba(16, 35, 64, 0.10);
        }

        .wiso_grid .wiso_grid-row.wiso_row_mandant::before {
            content: "";
            position: absolute;
            left: 0;
            right: -6000px;
            top: 0;
            bottom: 0;
            z-index: 0;
            pointer-events: none;
            background: linear-gradient(135deg, var(--w6-mandant-bg1), var(--w6-mandant-bg2));
        }

        .wiso_grid .wiso_grid-row.wiso_row_mandant:hover::after {
            background: linear-gradient(135deg, var(--w6-mandant-hover1), var(--w6-mandant-hover2)) !important;
        }

        .wiso_grid .wiso_grid-row.wiso_row_mandant.wiso_row_select::after,
        .wiso_grid .wiso_grid-row.wiso_row_mandant[aria-selected="true"]::after {
            background: linear-gradient(135deg, var(--w6-mandant-selected1), var(--w6-mandant-selected2)) !important;
            border: 1px solid var(--w6-mandant-selected-border);
            box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 0 0 1px rgba(91, 153, 238, 0.10), 0 14px 28px rgba(17, 40, 72, 0.14), 0 0 24px var(--w6-mandant-selected-glow);
        }

        .wiso_grid .wiso_grid-row.wiso_row_mandant > .wiso_grid-cell {
            background: transparent !important;
            border-color: transparent !important;
        }

        .wiso_grid .wiso_grid-row.wiso_row_mandant .wiso_grid-expand-cell,
        .wiso_grid .wiso_grid-row.wiso_row_mandant .wiso_grid-expand-cell-icon {
            visibility: visible !important;
            opacity: 1 !important;
        }

        .wiso_grid .wiso_grid-row.wiso_row_mandant .wiso_grid-expand-cell-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--w6-mandant-fg-strong) !important;
            filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
        }

    /* ==========================================================
   PARTNER
   ========================================================== */
    .wiso_grid .wiso_grid-row.wiso_row_partner {
        position: relative;
        background: linear-gradient(135deg, var(--w6-partner-bg1), var(--w6-partner-bg2)) !important;
        color: var(--w6-partner-fg) !important;
        border: none !important;
        border-radius: var(--w6-row-radius);
        overflow: hidden;
        box-shadow: var(--w6-row-shadow-soft) !important;
    }

        .wiso_grid .wiso_grid-row.wiso_row_partner::after {
            content: "";
            position: absolute;
            left: 0;
            right: -6000px;
            top: 0;
            bottom: 0;
            z-index: 1;
            pointer-events: none;
            background: linear-gradient(135deg, var(--w6-partner-bg1), var(--w6-partner-bg2)) !important;
            box-shadow: var(--w6-partner-before-shadow);
        }

        .wiso_grid .wiso_grid-row.wiso_row_partner > .wiso_grid-cell {
            background: transparent !important;
            border-color: transparent !important;
        }

        .wiso_grid .wiso_grid-row.wiso_row_partner:hover {
            filter: brightness(1.04);
        }

        .wiso_grid .wiso_grid-row.wiso_row_partner .wiso_grid-expand-cell,
        .wiso_grid .wiso_grid-row.wiso_row_partner .wiso_grid-expand-cell-icon {
            visibility: visible !important;
            opacity: 1 !important;
        }

        .wiso_grid .wiso_grid-row.wiso_row_partner .wiso_grid-expand-cell-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--w6-partner-fg);
            filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
        }

    /* ==========================================================
   PARAMETER
   ========================================================== */
    .wiso_grid .wiso_grid-row.wiso_row_parameter {
        position: relative;
        background: linear-gradient(180deg, var(--w6-param-bg), var(--w6-param-bg-2)) !important;
    }

        .wiso_grid .wiso_grid-row.wiso_row_parameter > .wiso_grid-cell {
            background: transparent !important;
            position: relative;
            border-top: 1px solid rgba(255,255,255,0.03) !important;
        }

            .wiso_grid .wiso_grid-row.wiso_row_parameter > .wiso_grid-cell:first-child {
                border-left: 1px solid var(--w6-param-border) !important;
            }

            .wiso_grid .wiso_grid-row.wiso_row_parameter > .wiso_grid-cell:last-child {
                border-right: 1px solid var(--w6-param-border) !important;
            }

        .wiso_grid .wiso_grid-row.wiso_row_parameter:last-of-type > .wiso_grid-cell {
            border-bottom: 1px solid var(--w6-param-border-strong) !important;
        }

        .wiso_grid .wiso_grid-row.wiso_row_parameter:hover {
            background: linear-gradient(180deg, var(--w6-param-hover1), var(--w6-param-hover2)) !important;
            box-shadow: inset 0 0 0 1px rgba(88,129,173,0.10);
        }

        .wiso_grid .wiso_grid-row.wiso_row_parameter.wiso_row_select,
        .wiso_grid .wiso_grid-row.wiso_row_parameter[aria-selected="true"] {
            background: linear-gradient(180deg, var(--w6-param-selected1), var(--w6-param-selected2)) !important;
            box-shadow: inset 0 0 0 1px rgba(88,160,226,0.30), inset 0 0 18px var(--w6-param-glow);
        }

            .wiso_grid .wiso_grid-row.wiso_row_parameter.wiso_row_select > .wiso_grid-cell:last-child,
            .wiso_grid .wiso_grid-row.wiso_row_parameter[aria-selected="true"] > .wiso_grid-cell:last-child {
                border-right: 1px solid rgba(110,174,235,0.52) !important;
            }

        .wiso_grid .wiso_grid-row.wiso_row_parameter:last-of-type.wiso_row_select > .wiso_grid-cell,
        .wiso_grid .wiso_grid-row.wiso_row_parameter:last-of-type[aria-selected="true"] > .wiso_grid-cell {
            border-bottom: 1px solid rgba(110,174,235,0.52) !important;
        }

        .wiso_grid .wiso_grid-row.wiso_row_parameter .wiso_grid-cell__content,
        .wiso_grid .wiso_grid-row.wiso_row_parameter .wiso_grid-cell__content_html-enable {
            color: var(--w6-param-text) !important;
            font-weight: 500;
        }

/* ----------------------------------------------------------
   Gemeinsame Checkbox-Regeln
   ---------------------------------------------------------- */
.wiso_grid-row.wiso_row_partner .wiso_checkbox,
.wiso_grid-row.wiso_row_mandant .wiso_checkbox {
    display: none !important;
}

.wiso_grid-row.wiso_row_partner .wiso_grid-cell[data-wiso-col-id="wrowcheckbox"],
.wiso_grid-row.wiso_row_mandant .wiso_grid-cell[data-wiso-col-id="wrowcheckbox"],
.wiso_grid-row.wiso_row_partner .wiso_grid-cell[data-wiso-col-id="rowcheckbox"],
.wiso_grid-row.wiso_row_mandant .wiso_grid-cell[data-wiso-col-id="rowcheckbox"] {
    visibility: hidden !important;
}

/* ==========================================================
   GLOBAL: Mandant-Row → nur Feld "Mandant" sichtbar
   Gilt für ALLE TreeGrids
   ========================================================== */

/* 1. Standard: ALLE Inhalte ausblenden */
.wiso_grid .wiso_grid-row.wiso_row_mandant
.wiso_grid-cell .wiso_grid-cell__content {
    visibility: hidden !important;
}

/* 2. Ausnahme: Mandant-Feld wieder sichtbar machen */
.wiso_grid .wiso_grid-row.wiso_row_mandant
.wiso_grid-cell[data-wiso-col-id="Mandant"] .wiso_grid-cell__content {
    visibility: visible !important;
}

/* 3. Ausnahme: DisplayName-Feld wieder sichtbar machen */
.wiso_grid .wiso_grid-row.wiso_row_mandant
.wiso_grid-cell[data-wiso-col-id="DisplayName"] .wiso_grid-cell__content {
    visibility: visible !important;
}


/* Optional: Fallback falls _sort1 als Anzeige genutzt wird */
.wiso_grid .wiso_grid-row.wiso_row_mandant
.wiso_grid-cell[data-wiso-col-id="_sort1"] .wiso_grid-cell__content {
    visibility: visible !important;
}

/* 3. Checkbox & technische Inhalte zusätzlich absichern */
.wiso_grid .wiso_grid-row.wiso_row_mandant .wiso_checkbox {
    display: none !important;
}

/* 4. Expand-Icon sichtbar lassen */
.wiso_grid .wiso_grid-row.wiso_row_mandant .wiso_grid-expand-cell,
.wiso_grid .wiso_grid-row.wiso_row_mandant .wiso_grid-expand-cell-icon {
    visibility: visible !important;
    opacity: 1 !important;
}

/* ==========================================================
   GLOBAL TreeGrid Regeln
   ========================================================== */


/* ==========================================================
   PARTNER ROW
   → nur PartnerName sichtbar
   ========================================================== */

/* 1. alles ausblenden */
.wiso_grid .wiso_grid-row.wiso_row_partner
.wiso_grid-cell .wiso_grid-cell__content {
    visibility: hidden !important;
}

/* 2. PartnerName sichtbar */
.wiso_grid .wiso_grid-row.wiso_row_partner
.wiso_grid-cell[data-wiso-col-id="PartnerName"] .wiso_grid-cell__content {
    visibility: visible !important;
}

/* Optional Fallback */
.wiso_grid .wiso_grid-row.wiso_row_partner
.wiso_grid-cell[data-wiso-col-id="CommPartner"] .wiso_grid-cell__content {
    visibility: visible !important;
}

/* Expand Icon sichtbar lassen */
.wiso_grid .wiso_grid-row.wiso_row_partner .wiso_grid-expand-cell,
.wiso_grid .wiso_grid-row.wiso_row_partner .wiso_grid-expand-cell-icon {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Checkbox raus */
.wiso_grid .wiso_grid-row.wiso_row_partner .wiso_checkbox {
    display: none !important;
}



/* ==========================================================
   PARAMETER ROW
   → alles sichtbar außer Mandant + PartnerName
   ========================================================== */

/* 1. Standard: alles sichtbar */
.wiso_grid .wiso_grid-row.wiso_row_parameter
.wiso_grid-cell .wiso_grid-cell__content {
    visibility: visible !important;
}

/* 2. Mandant ausblenden */
.wiso_grid .wiso_grid-row.wiso_row_parameter
.wiso_grid-cell[data-wiso-col-id="Mandant"] .wiso_grid-cell__content {
    visibility: hidden !important;
}

/* 3. PartnerName ausblenden */
.wiso_grid .wiso_grid-row.wiso_row_parameter
.wiso_grid-cell[data-wiso-col-id="PartnerName"] .wiso_grid-cell__content {
    visibility: hidden !important;
}

/* 4. DisplayName ausblenden */
.wiso_grid .wiso_grid-row.wiso_row_parameter
.wiso_grid-cell[data-wiso-col-id="DisplayName"] .wiso_grid-cell__content {
    visibility: hidden !important;
}


/* Optional: CommPartner ebenfalls ausblenden */
.wiso_grid .wiso_grid-row.wiso_row_parameter
.wiso_grid-cell[data-wiso-col-id="CommPartner"] .wiso_grid-cell__content {
    visibility: hidden !important;
}

