/*
 * TableGUI (CSS compilato): M100-TableGUI
 * Copyright: EPTO, 2017, 2026.
 * Generato da tools/compile.js il 2026-10-22T10:23:12.582Z.
 * File (7): M000-Settings.css, M020-TableBox.css, M100-TDPrototype.css, M230-TableElement.css, N010-SchemaTable.css, N100-TableGUIBuilder.css, T000-Black.css
 */

/* ---------------------------------------------------------------- css.d/M000-Settings.css */
/*
 * TableGUI: impostazioni (variabili CSS).
 * Questo file va caricato per primo: le immagini e le misure qui definite sono usate dagli altri CSS.
 * Per personalizzarle basta ridefinire le variabili (es. in un CSS caricato dopo, su :root).
 */

:root {

    /* Immagini */
    --TableGUI-img-palette-selected:  url(/assets/icon/DOT.gif);    /* Colore scelto nella palette (COLOR) */
    --TableGUI-img-color-null:        url(/assets/icon/GRAY.gif);   /* Colore nullo (COLOR) */
    --TableGUI-img-select-on:         url(/assets/icon/GV.png);     /* Riga selezionata (SELECT) */
    --TableGUI-img-select-off:        url(/assets/icon/CLIP.gif);   /* Riga non selezionata (SELECT) */
    --TableGUI-img-section-expanded:  url(/assets/icon/OUP.gif);    /* Sezione aperta (icona per chiuderla) */
    --TableGUI-img-section-collapsed: url(/assets/icon/ODN.gif);    /* Sezione chiusa (icona per aprirla) */
    --TableGUI-img-search:            url(/assets/icon/FLT.gif);    /* Ricerca */
    --TableGUI-img-search-active:     url(/assets/icon/FLTD.gif);   /* Ricerca attiva (click per annullarla) */

    /* Larghezza della barra di scorrimento del corpo delle tabelle: misurata e impostata da TableElement.getScrollbarWidth() */
    --TableGUI-scrollbar: 0px;

}

/* ---------------------------------------------------------------- css.d/M020-TableBox.css */

.TableBox_TableBox_C {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: block;
    background: rgba(0,64,128,0.5);
    font-size: 9pt;

}

/* adaptive: la finestra non stava nel contenitore ed è stata spostata nel body */
.TableBox_TableBox_C.TableBox_TableBox_Body {
    position: fixed;
    z-index: 100000;
}

.TableBox_TableBox {

    border: #000 1px solid;
    position: absolute;
    z-index: 100000;
    min-width: 20em;
    width: max-content;     /* con left: 50% la larghezza sarebbe limitata alla metà del contenitore */
    max-width: 94%;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);


}

.TableBox_TableBox .AppXContent {


    background: #fff;
    padding: 0.25em;

}

.TableBox_TableBox .AppXTitle {
    width: 100%;
    height: 1.5em;
    text-align: center;
    border-bottom: #000 1px solid;
    background: #cef;
    font-weight: bold;
    color: #048;
    position: relative;
}

.TableBox_TableBox .AppXTitle .AppXTX {
    position: absolute;
    right: 1px;
    top: 1px;
    max-height: 100%;
    cursor: pointer;
}

.TableBox_TableBox .AppMSGBOX .AppXMSGBIcon {
    display: inline-block;
    vertical-align: top;
    width: 32px;
}

.TableBox_TableBox .AppMSGBOX .AppXMSGBText {
    display: inline-block;
    vertical-align: top;
    width: calc(100% - 32px - 0.5em);
    margin-left: 0.25em;
}

.TableBox_TableBox .AppXMSGPanel {
    padding: 0.5em;
    text-align: center;
}

.TableBox_TableBox .AppXMSGPanel button {
    margin-left: 2pt;
    margin-right: 2pt;
}

.TableBox_TableBox .AppXMSGPanel button img {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-right: 4pt;
}

.TableBox_TableBox .AppXMSGPanel button span {
    vertical-align: middle;
    font-weight: bold;
}

.TableBox_TableBox .AppXMSGPanel button {
    border-radius: 3pt;
    padding: 1pt 5pt;
    border: #444 1px solid;
}

.TableBox_TableBox .AppXMSGPanel button:hover {
    filter: brightness(80%);
}

.TableBox_TableBox_C.AppMSGBOX_T_TEXT.AppMSGBOX_T_N_ICON {
    width: 100%;
}

.TableBox_TableBox_C.AppMSGBOX_T_N_TITLE.AppMSGBOX_T_OBJ.AppMSGBOX_T_TEXT.AppMSGBOX_T_N_ICON.AppMSGBOX_T_N_PANEL .TableBox_TableBox .AppXMSGBText {
    text-align: center;
    width: 100%;
}

.TableBox_TableBox_C.AppMSGBOX_T_N_TITLE.AppMSGBOX_T_OBJ.AppMSGBOX_T_TEXT.AppMSGBOX_T_N_ICON.AppMSGBOX_T_N_PANEL .TableBox_TableBox {
    border-radius: 4pt;
    border-width: 2px;
    border-color: #444;
}

/* ---------------------------------------------------------------- css.d/M100-TDPrototype.css */
.TDPrototype_ColorPalette {
    border: #ccc 1px solid;
    border-radius: 3pt;
    padding: 1em;
}

.TDPrototype_ColorPalette .AppXPaletteItem {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: 2pt;
    border-radius: 3pt;
    border: #000 1px solid;
    position: relative;
    cursor: pointer;
}

.TDPrototype_ColorPalette .AppXPaletteItem .AppXPaletteSelector {
    display: none;
}

.TDPrototype_ColorPalette .AppXPaletteItem.AppXCSelected .AppXPaletteSelector {
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    border: #000 1px solid;
    border-radius: 50%;
    left: 5px;
    top: 5px;
    background: #fff;
    padding: 0;
    overflow: hidden;
    background-image: var(--TableGUI-img-palette-selected);
    background-repeat: no-repeat;
    background-position: center;

}

.TDPrototype_ColorTD  {
    cursor: pointer;
    font-size: 8px;
}

.TDPrototype_ColorTD .AppXColorView {
    display: inline-block;
    width: 24px;
    height: 16px;
    border-radius: 3pt;
    border: #000 1px solid;
    vertical-align: middle;
}

.TDPrototype_ColorTD .AppXColorLabel {
    display: inline-block;
    vertical-align: middle;
    padding-left: 2pt;
    overflow: hidden;
}

.TDPrototype_StrokePalette {
    border: #ccc 1px solid;
    border-radius: 3pt;
    padding: 5pt;
}

.TDPrototype_StrokePalette .AppXStrokeItem {
    width: calc(64px + 4pt);
    height: calc(16px + 4pt);
    display: inline-block;
    border: #ccc 1px solid;
    margin: 1pt;
    border-radius: 3pt;
    padding: 2pt;
}

.TDPrototype_StrokePalette .AppXStrokeItem.AppXSelected {
    border: #000 1px solid;
}

.TDPrototype_StrokeTD {
    width: 48px;
    vertical-align: middle;
    height: 16px;
    cursor: pointer;
}

.TDPrototype_ENUM_TD {
    cursor: pointer;
}

.TDPrototype_ENUM_TD .AppXImg {
    width: 16px;
    height: 16px;
    overflow: hidden;
    vertical-align: middle;
    display: inline-block;
}

.TDPrototype_ENUM_TD.TDPrototype_ENUM_TD_WImg.TDPrototype_ENUM_TD_WTxt .AppXTxt {
    display: inline-block;
    width: calc(100% - 16px - 2pt);
    padding-left: 2pt;
    vertical-align: middle;
    font-size: 8pt;
}

.TDPrototype_ENUM_Palette {

    border: #ccc 1px solid;
    max-height: 15em;
    border-radius: 3pt;
    overflow-y: scroll;

}

.TDPrototype_ENUM_Palette .AppXOpt {
    border-bottom: #eee 1px solid;
    padding: 2pt;
    position: relative;
    cursor: pointer;
}

.TDPrototype_ENUM_Palette .AppXOpt .AppXImg {
    width: 22px;
    height: 22px;
    overflow: hidden;
    border: #ccc 1px solid;
    border-radius: 2pt;
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.TDPrototype_ENUM_Palette .AppXOpt .AppXImg .TDEnumOption_Image {
    max-width: 16px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

.TDPrototype_ENUM_Palette .AppXOpt .AppXTxt {
    display: inline-block;
    vertical-align: middle;
}

.TDPrototype_ENUM_Palette.AppX_WImg.AppX_WTxt .AppXOpt .AppXTxt {
    padding-left: 3pt;
    height: 1.5em;
    width: calc(100% - 25px);
    overflow: hidden;
}

.TDPrototype_ENUM_Palette .AppXPoint {
    display: none;
}

.TDPrototype_ENUM_Palette .AppXOpt.AppXSelected {
    background: #DEF;
}

/* Opzione che non corrisponde alla ricerca */
.TDPrototype_ENUM_Palette .AppXOpt.AppXHidden {
    display: none;
}

/* Casella di ricerca nella finestra di scelta (canSearch) */
.TDPrototype_ENUM_Search .AppXSearch {
    padding: 2px 0 4px 0;
    white-space: nowrap;
}

.TDPrototype_ENUM_Search .AppXSearch .AppXSearchInput {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 22px);
    box-sizing: border-box;
    margin: 0 4px 0 0;
    font: inherit;
}

.TDPrototype_ENUM_Search .AppXSearch .AppXSearchIcon {
    display: inline-block;
    vertical-align: middle;
    width: 16px;
    height: 16px;
    background-image: var(--TableGUI-img-search);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
}

.TDPrototype_ENUM_Search .AppXSearch.AppXSearchActive .AppXSearchIcon {
    background-image: var(--TableGUI-img-search-active);
}

.TableBox_TableBox .AppXInputBox[type="number"] {
    width: 8em;
    margin: auto;
    display: block;
}

.TableBox_TableBox .AppXInputBox[type="text"] {
    width: calc(100% - 0.5em);
    margin: auto;
    display: block;
}

.TDPrototype_TD_EMPTY {
    font-size: 8pt;
    text-align: center;
    vertical-align: middle;
    background: #eee;
    color: #aaa;
}

.TDPrototype_TD_FLAG {
    cursor: pointer;
}

.TableGUI_TableElement tbody .AppXTD_VALUE,
.TableGUI_TableElement tbody .AppXTD_DATE,
.TableGUI_TableElement tbody .AppXTD_TIME,
.TableGUI_TableElement tbody .AppXTD_URL,
.TableGUI_TableElement tbody .AppXTD_IPV4,
.TableGUI_TableElement tbody .AppXTD_OBJ {
    cursor: pointer;
}

.TableGUI_TableElement tbody .AppXTD_OBJ .AppXText {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.TDPrototype_OBJ_Dialog {
    width: 30em;
    max-width: 80vw;
}

.TableGUI_TableElement tbody .AppXTD_VALUE.TDPrototype_VALUE_Protected,
.TableGUI_TableElement tbody .AppXTD_DATE.TDPrototype_VALUE_Protected,
.TableGUI_TableElement tbody .AppXTD_TIME.TDPrototype_VALUE_Protected,
.TableGUI_TableElement tbody .AppXTD_URL.TDPrototype_VALUE_Protected,
.TableGUI_TableElement tbody .AppXTD_IPV4.TDPrototype_VALUE_Protected,
.TableGUI_TableElement tbody .AppXTD_OBJ.TDPrototype_VALUE_Protected {
    cursor: default;
}

.TDPrototype_VALUE_Input {
    display: none;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    box-sizing: border-box;
    font: inherit;
    background: #FFE;
    outline: #48C 1px solid;
}

.TDPrototype_VALUE_Editing .TDPrototype_VALUE_Input {
    display: block;
}

.TDPrototype_VALUE_Editing .AppXText {
    display: none;
}

.TDPrototype_VALUE_Input.TDPrototype_VALUE_ERR {
    background: #FEC;
    color: #800;
    outline-color: #C44;
}

.TableGUI_TableElement tbody .AppXTD .AppXNullValue {
    color: #aaa;
}

.TableGUI_TableElement .AppXTD.AppXTD_COLOR .AppXColorView.AppXNullValue {
    background-image: var(--TableGUI-img-color-null);
}

.TableGUI_TableElement .TDPrototype_TD_IMAGE .AppXOptIcon {
    width: 16px;
    height: 16px;
    overflow: hidden;
    position: relative;
}

.TableGUI_TableElement .TDPrototype_TD_IMAGE .AppXOptIcon svg {
    width: 16px;
}

.TDPrototype_ENUM_TD.AppXEmpty .AppXTxt {
    display: none !important;
}

.TDPrototype_ENUM_TD.AppXEmpty .AppXImg {
    display: none !important;;
}

.TDPrototype_ENUM_TD.AppXEmpty.TDPrototype_ENUM_TD_WTxt:after {
    content: attr(data-default-text);       /* "(default)" nella lingua corrente (impostato dal JavaScript) */
    vertical-align: middle;
    color: #888;
}

.TDPrototype_NUMBER {
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
}

.TDPrototype_NUMBER_ERR {
    background: #FEC;
    color: #800;
}

.TDPrototype_ENUM_TD div {
    position: relative;
}

.TDPrototype_ENUM_TD div .TDEnumOption_Image {
    position: absolute;
    left: 0;
    top: 0;
}

.TDPrototype_ColorPalette .TDPrototype_ColorHex {
    display: flex;
    align-items: center;
    gap: 6pt;
    margin-top: 8pt;
}

.TDPrototype_ColorPalette .TDPrototype_ColorHex .AppXColorView {
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 3pt;
    border: #000 1px solid;
}

.TDPrototype_ColorPalette .TDPrototype_ColorHex input {
    width: 7em;
    font-family: monospace;
}

.TDPrototype_ColorPalette .TDPrototype_ColorHex input.AppXInvalid {
    border-color: #c00;
    background: #fdd;
}

/* ---------------------------------------------------------------- css.d/M230-TableElement.css */

.TableGUI_TableElement_C {
    position: relative;     /* la msgbox predefinita (TableBox_TableBox_C) copre esattamente la tabella */
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.TableGUI_TableElement {
    width: 100%;
    height: 100%;
    border-collapse: collapse;
    table-layout: fixed;

    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    grid-template-columns: minmax(0, 1fr);      /* la tabella non supera mai la larghezza del contenitore */
}

/* Intestazione e piede: larghi quanto lo spazio del corpo senza la barra di scorrimento (misurata da TableElement.getScrollbarWidth) */
.TableGUI_TableElement > thead,
.TableGUI_TableElement > tfoot {
    width: calc(100% - var(--TableGUI-scrollbar, 0px)) !important;
}

/* Tabella di prova per misurare la barra di scorrimento */
.TableGUI_TableElement.TableGUI_ScrollProbe {
    position: absolute;
    left: -10000px;
    top: 0;
    width: 100px;
    height: 100px;
    visibility: hidden;
}

.TableGUI_TableElement > thead {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.TableGUI_TableElement > tbody {
    display: block;
    width: 100%;
    min-height: 0;
    overflow-y: scroll;
    overflow-x: hidden;
}

.TableGUI_TableElement > tbody > tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.TableGUI_TableElement > tfoot {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.TableGUI_TableElement th,
.TableGUI_TableElement td {
    border: 1px solid #999;
    box-sizing: border-box;
}

.TableGUI_TableElement > thead th {
    background: #eee;
}

.TableGUI_TableElement > tfoot td {
    background: #eee;
}

.TableGUI_TableElement_C {
    font-size: 8.5pt;

}

.TableGUI_TableElement {
    background: #ccc;
}

.TableGUI_TableElement > thead {
    background: #cef;
}

.TableGUI_TableElement > tbody {
    background: #fff;
}

.TableGUI_TableElement > tbody td {
    border: #ccc 1px solid;
}

.TableGUI_TableElement > tbody td div {
    overflow-x: hidden;
}

.TableGUI_TableElement > tfoot {
    background: #fff;
}

.TableGUI_TableElement > thead th {
    background: #cef;

}

.TableGUI_TableElement > thead th div {
    color: #048;
    font-weight: bold;
    width: 100%;
    height: 1.5em;
    line-height: 1.4em;
    overflow: hidden;
    text-align: center;
}

.TableGUI_TableElement .AppXFootButton {
    cursor: pointer;
    margin: 2pt;
    border: #aaa 1px solid;
    display: inline-block;
    padding: 1pt 4pt;
    border-radius: 3pt;
    background: #cef;
}

.TableGUI_TableElement .AppXFootButton .AppXFTIcon {
    width: 16px;
    height: 16px;
    margin-right: 2pt;
}

.TableGUI_TableElement .AppXFootButton .AppXFTText {
    font-weight: bold;
    color: #048;
}

.TableGUI_TableElement .AppXFootButton:hover {
    background: #BDE;
}

.TableGUI_TableElement .AppXFTText:hover {
    color: #004;
}

.TableGUI_TableElement .AppXFootPanel .AppXFTIcon {
    vertical-align: top;
}

.TableGUI_TableElement_footContainer {
    display: inline-block;
    vertical-align: top;
}

.TableGUI_TableElement_footContainer button {
    cursor: pointer;
    margin: 2pt;
    border: #aaa 1px solid;
    display: inline-block;
    padding-top: 2px;
    border-radius: 3pt;
    background: #cef;
    font-size: 8.5pt !important;
    font-weight: bold !important;
    color: #048;
}

.TableGUI_TableElement tr.AppXTRSelected {
    background: #cfe;
}

.TableGUI_TableElement tr.AppXTRSelected td * {
    color: #00f;
}

.TableGUI_TableElement tr.AppXTRSelected .AppXOptSelect {
    background-image: var(--TableGUI-img-select-on);
}

.TableGUI_TableElement tr .AppXOptSelect {
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: var(--TableGUI-img-select-off);
}

.TableGUI_TableElement .TableGUI_TableElement_SectionRow_TD {
    background: #DFF;
}

.TableGUI_TableElement .TableGUI_TableElement_SectionRow_TD .TableGUI_TableElement_SectionRow_CollapseIcon {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    cursor: pointer;
    background-image: var(--TableGUI-img-section-expanded);
    background-repeat: no-repeat;
    background-position: center;
}

.TableGUI_TableElement .TableGUI_TableElement_SectionRow.TableGUI_TableElement_TR_Section_Collapsed .TableGUI_TableElement_SectionRow_CollapseIcon {
    background-image: var(--TableGUI-img-section-collapsed);
}

.TableGUI_TableElement .TableGUI_TableElement_InSectionRow.TableGUI_TableElement_TR_Collapsed {
    display: none;
}

.TableGUI_TableElement .TableGUI_TableElement_SectionRow_TD .TableGUI_TableElement_SectionRow_Content {
    display: inline-block;
    width: calc(100% - 16px - 2pt);
    vertical-align: middle;
    padding-left: 1pt;
}

.TableGUI_TableElement .TableGUI_TableElement_SectionRow {
    margin-top: 2pt;
}

.TableGUI_TableElement .TableGUI_TableElement_RowSection_End.TableGUI_TableElement_TR_Section_Collapsed {
    display: none;
}
.TableGUI_TableElement .TableGUI_TableElement_RowSection_End td {
    border: none;
    border-top: #aaa 1px solid;
    height: 2pt;
}

.TableGUI_TableElement .TableGUI_TableElement_SectionRow_Content.TableGUI_TableElement_SectionRow_DefaultStyle {
    font-weight: bold;
    color: #048;
}

.TableGUI_TableElement .TableGUI_TableElement_TR_Section_Expanded .TableGUI_TableElement_SectionRow_Content.TableGUI_TableElement_SectionRow_DefaultStyle:after {
    content: ":";
    font-weight: bold;
    color: #048;
}

.TableGUI_TableElement_Dragable .TableGUI_TableElement > tbody > tr.TableGUI_TableElement_TBody_TR {
    cursor: grab;
}

.TableGUI_TableElement > tbody > tr.TableGUI_TableElement_Dragging {
    opacity: 0.4;
}

.TableGUI_TableElement > tbody > tr.TableGUI_TableElement_DropBefore td {
    border-top: 2px solid #48C;
}

.TableGUI_TableElement > tbody > tr.TableGUI_TableElement_DropAfter td {
    border-bottom: 2px solid #48C;
}

.TableGUI_TableElement_C.TableGUI_TableElement_WithSearch {
    display: flex;
    flex-direction: column;
}

.TableGUI_TableElement_C.TableGUI_TableElement_WithSearch > .TableGUI_TableElement {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
}

.TableGUI_TableElement_C .AppXSearch {
    flex: 0 0 auto;
    width: 100%;
    box-sizing: border-box;
    padding: 2px;
    background: #eee;
    border: 1px solid #999;
    border-bottom: none;
    white-space: nowrap;
}

.TableGUI_TableElement_C .AppXSearch .AppXSearchInput {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 22px);
    box-sizing: border-box;
    margin: 0 4px 0 0;
    font: inherit;
}

.TableGUI_TableElement_C .AppXSearch .AppXSearchIcon {
    display: inline-block;
    vertical-align: middle;
    width: 16px;
    height: 16px;
    background-image: var(--TableGUI-img-search);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
}

.TableGUI_TableElement_C .AppXSearch.AppXSearchActive .AppXSearchIcon {
    background-image: var(--TableGUI-img-search-active);
}

.TableGUI_TableElement > tbody > tr.AppXTRBlur {
    opacity: 0.35;
}

.TableGUI_TableElement_C.TableGUI_TableElement_Loading .TableGUI_TableElement > tbody {
    cursor: progress;
}

.TableGUI_TableElement_Dragable .TableGUI_TableElement > tbody > tr.TableGUI_TableElement_Locked {
    cursor: default;
}

/* ---------------------------------------------------------------- css.d/N010-SchemaTable.css */
.SchemaTable_Dialog {
    width: 32em;
    max-width: 80vw;
}

/* ---------------------------------------------------------------- css.d/N100-TableGUIBuilder.css */
.TableGUIBuilder {
    height: 100%;
    min-height: 300px;
    box-sizing: border-box;
}

.TableGUIBuilder .AppXBuilderButtons {
    display: inline-block;
}

.TableGUIBuilder .TableGUI_TableElement > tbody > tr.TableGUIBuilder_SectionRow td {
    background: #E8F0F8;
    font-weight: bold;
}

.TableGUIBuilder_MsgHost {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    pointer-events: none;
}

.TableGUIBuilder_MsgHost > * {
    pointer-events: auto;
}

.TableGUIBuilder_Dialog {
    width: 34em;
    max-width: 80vw;
}

.TableGUIBuilder_Dialog.TableGUIBuilder_DialogSmall {
    width: 26em;
}

.TableGUIBuilder_EnumValues {
    width: 32em;
    max-width: 80vw;
    height: 16em;
}

.TableGUIBuilder_ReflectionHost {
    width: 42em;
    max-width: 85vw;
    height: 20em;
}

/* Finestra della reflection: altezza fissa (la classe è sul contenitore della msgbox, .TableBox_TableBox_C) */
.TableBox_TableBox_C.TableGUIBuilder_FixReflection .AppXContent {
    height: 300px;
}

.TableGUIBuilder_FixReflection .TableGUIBuilder_ReflectionHost {
    height: auto;
}

.TableGUIBuilder_FixReflection .TableGUIBuilder {
    height: 300px;
}

.TableBox_TableBox .AppXBuilderSectionInput {
    width: 20em;
    max-width: 70vw;
    font: inherit;
}

/* ---------------------------------------------------------------- css.d/T000-Black.css */
/*
 * TableGUI: tema scuro.
 * Si attiva con la classe TableGUI_Theme_Black su un elemento (di solito il body): tutto ciò che è sotto diventa scuro.
 * Tutti i selettori iniziano da .TableGUI_Theme_Black, quindi hanno la precedenza sulle regole di base.
 * Le msgbox prendono il tema solo se si aprono dentro l'elemento con la classe (con la classe sul body sempre).
 *
 * I colori sono variabili: per ritoccare il tema basta ridefinirle, es.
 *   .TableGUI_Theme_Black { --TableGUI-dark-accent: #c80; }
 * Le icone si possono sostituire con le variabili di M000-Settings.css, es.
 *   .TableGUI_Theme_Black { --TableGUI-img-search: url(/assets/icon/dark/FLT.gif); }
 */

.TableGUI_Theme_Black {

    --TableGUI-dark-bg:          #1e1f22;      /* sfondo del corpo delle tabelle e delle finestre */
    --TableGUI-dark-bg-alt:      #2b2d31;      /* intestazioni, piede, barra di ricerca */
    --TableGUI-dark-bg-input:    #33363c;      /* campi di modifica */
    --TableGUI-dark-bg-hover:    #3a3d44;
    --TableGUI-dark-border:      #45484f;
    --TableGUI-dark-border-soft: #34363b;
    --TableGUI-dark-text:        #dcdde0;
    --TableGUI-dark-text-soft:   #8c8f96;      /* valori nulli, "(default)", EMPTY */
    --TableGUI-dark-accent:      #6cb4ff;      /* testi delle intestazioni e dei pulsanti */
    --TableGUI-dark-selected:    #23415f;      /* riga selezionata, opzione scelta */
    --TableGUI-dark-section:     #263445;      /* righe di sezione */
    --TableGUI-dark-error-bg:    #5a2a24;
    --TableGUI-dark-error-text:  #ffb4a8;
    --TableGUI-dark-overlay:     rgba(0, 0, 0, 0.6);

    color-scheme: dark;                         /* barre di scorrimento e controlli del browser scuri */

}

/* ---------------------------------------------------------------- Tabelle */

.TableGUI_Theme_Black .TableGUI_TableElement_C,
.TableGUI_Theme_Black .TableGUI_TableElement {
    color: var(--TableGUI-dark-text);
    background: var(--TableGUI-dark-bg-alt);
}

.TableGUI_Theme_Black .TableGUI_TableElement > thead,
.TableGUI_Theme_Black .TableGUI_TableElement > thead th {
    background: var(--TableGUI-dark-bg-alt);
}

.TableGUI_Theme_Black .TableGUI_TableElement th,
.TableGUI_Theme_Black .TableGUI_TableElement td {
    border-color: var(--TableGUI-dark-border);
}

.TableGUI_Theme_Black .TableGUI_TableElement > thead th div {
    color: var(--TableGUI-dark-accent);
}

.TableGUI_Theme_Black .TableGUI_TableElement > tbody {
    background: var(--TableGUI-dark-bg);
}

.TableGUI_Theme_Black .TableGUI_TableElement > tbody td {
    border-color: var(--TableGUI-dark-border-soft);
}

.TableGUI_Theme_Black .TableGUI_TableElement > tfoot,
.TableGUI_Theme_Black .TableGUI_TableElement > tfoot td {
    background: var(--TableGUI-dark-bg-alt);
}

/* Righe */

.TableGUI_Theme_Black .TableGUI_TableElement tr.AppXTRSelected {
    background: var(--TableGUI-dark-selected);
}

.TableGUI_Theme_Black .TableGUI_TableElement tr.AppXTRSelected td * {
    color: var(--TableGUI-dark-text);
}

.TableGUI_Theme_Black .TableGUI_TableElement > tbody > tr.TableGUI_TableElement_DropBefore td {
    border-top-color: var(--TableGUI-dark-accent);
}

.TableGUI_Theme_Black .TableGUI_TableElement > tbody > tr.TableGUI_TableElement_DropAfter td {
    border-bottom-color: var(--TableGUI-dark-accent);
}

/* Sezioni */

.TableGUI_Theme_Black .TableGUI_TableElement .TableGUI_TableElement_SectionRow_TD {
    background: var(--TableGUI-dark-section);
}

.TableGUI_Theme_Black .TableGUI_TableElement .TableGUI_TableElement_SectionRow_Content.TableGUI_TableElement_SectionRow_DefaultStyle,
.TableGUI_Theme_Black .TableGUI_TableElement .TableGUI_TableElement_TR_Section_Expanded .TableGUI_TableElement_SectionRow_Content.TableGUI_TableElement_SectionRow_DefaultStyle:after {
    color: var(--TableGUI-dark-accent);
}

.TableGUI_Theme_Black .TableGUI_TableElement .TableGUI_TableElement_RowSection_End td {
    border-top-color: var(--TableGUI-dark-border);
}

/* Pulsanti in fondo alla tabella */

.TableGUI_Theme_Black .TableGUI_TableElement .AppXFootButton,
.TableGUI_Theme_Black .TableGUI_TableElement_footContainer button {
    background: var(--TableGUI-dark-bg-input);
    border-color: var(--TableGUI-dark-border);
    color: var(--TableGUI-dark-accent);
}

.TableGUI_Theme_Black .TableGUI_TableElement .AppXFootButton .AppXFTText {
    color: var(--TableGUI-dark-accent);
}

.TableGUI_Theme_Black .TableGUI_TableElement .AppXFootButton:hover,
.TableGUI_Theme_Black .TableGUI_TableElement_footContainer button:hover {
    background: var(--TableGUI-dark-bg-hover);
}

.TableGUI_Theme_Black .TableGUI_TableElement .AppXFTText:hover {
    color: var(--TableGUI-dark-text);
}

/* Ricerca */

.TableGUI_Theme_Black .TableGUI_TableElement_C .AppXSearch {
    background: var(--TableGUI-dark-bg-alt);
    border-color: var(--TableGUI-dark-border);
}

.TableGUI_Theme_Black .TableGUI_TableElement_C .AppXSearch .AppXSearchInput,
.TableGUI_Theme_Black .TDPrototype_ENUM_Search .AppXSearch .AppXSearchInput {
    background: var(--TableGUI-dark-bg-input);
    color: var(--TableGUI-dark-text);
    border: 1px solid var(--TableGUI-dark-border);
}

/* ---------------------------------------------------------------- Celle */

.TableGUI_Theme_Black .TableGUI_TableElement tbody .AppXTD .AppXNullValue,
.TableGUI_Theme_Black .TDPrototype_ENUM_TD.AppXEmpty.TDPrototype_ENUM_TD_WTxt:after {
    color: var(--TableGUI-dark-text-soft);
}

.TableGUI_Theme_Black .TDPrototype_TD_EMPTY {
    background: var(--TableGUI-dark-bg-alt);
    color: var(--TableGUI-dark-text-soft);
}

.TableGUI_Theme_Black .TDPrototype_VALUE_Input,
.TableGUI_Theme_Black .TDPrototype_NUMBER {
    background: var(--TableGUI-dark-bg-input);
    color: var(--TableGUI-dark-text);
}

.TableGUI_Theme_Black .TDPrototype_VALUE_Input {
    outline-color: var(--TableGUI-dark-accent);
}

.TableGUI_Theme_Black .TDPrototype_VALUE_Input.TDPrototype_VALUE_ERR,
.TableGUI_Theme_Black .TDPrototype_NUMBER.TDPrototype_NUMBER_ERR {
    background: var(--TableGUI-dark-error-bg);
    color: var(--TableGUI-dark-error-text);
}

.TableGUI_Theme_Black .TDPrototype_ColorTD .AppXColorView {
    border-color: var(--TableGUI-dark-border);
}

/* ---------------------------------------------------------------- Palette (COLOR, STROKE, ENUM) */

.TableGUI_Theme_Black .TDPrototype_ColorPalette,
.TableGUI_Theme_Black .TDPrototype_StrokePalette,
.TableGUI_Theme_Black .TDPrototype_ENUM_Palette {
    border-color: var(--TableGUI-dark-border);
}

.TableGUI_Theme_Black .TDPrototype_ColorPalette .AppXPaletteItem,
.TableGUI_Theme_Black .TDPrototype_ColorPalette .TDPrototype_ColorHex .AppXColorView {
    border-color: var(--TableGUI-dark-border);
}

/* Il tratteggio è una linea nera: su sfondo chiaro resta leggibile */
.TableGUI_Theme_Black .TDPrototype_StrokePalette .AppXStrokeItem,
.TableGUI_Theme_Black .TDPrototype_StrokeTD svg {
    background: var(--TableGUI-dark-text);
    border-color: var(--TableGUI-dark-border);
}

.TableGUI_Theme_Black .TDPrototype_StrokePalette .AppXStrokeItem.AppXSelected {
    border-color: var(--TableGUI-dark-accent);
    outline: 1px solid var(--TableGUI-dark-accent);
}

.TableGUI_Theme_Black .TDPrototype_ENUM_Palette .AppXOpt {
    border-bottom-color: var(--TableGUI-dark-border-soft);
}

.TableGUI_Theme_Black .TDPrototype_ENUM_Palette .AppXOpt .AppXImg {
    border-color: var(--TableGUI-dark-border);
}

.TableGUI_Theme_Black .TDPrototype_ENUM_Palette .AppXOpt.AppXSelected {
    background: var(--TableGUI-dark-selected);
}

/* ---------------------------------------------------------------- Msgbox */

.TableGUI_Theme_Black .TableBox_TableBox_C {
    background: var(--TableGUI-dark-overlay);
    color: var(--TableGUI-dark-text);
}

.TableGUI_Theme_Black .TableBox_TableBox {
    border-color: var(--TableGUI-dark-border);
}

.TableGUI_Theme_Black .TableBox_TableBox .AppXContent {
    background: var(--TableGUI-dark-bg);
    color: var(--TableGUI-dark-text);
}

.TableGUI_Theme_Black .TableBox_TableBox .AppXTitle {
    background: var(--TableGUI-dark-bg-alt);
    border-bottom-color: var(--TableGUI-dark-border);
    color: var(--TableGUI-dark-accent);
}

.TableGUI_Theme_Black .TableBox_TableBox .AppXMSGPanel button {
    background: var(--TableGUI-dark-bg-input);
    border-color: var(--TableGUI-dark-border);
    color: var(--TableGUI-dark-text);
}

.TableGUI_Theme_Black .TableBox_TableBox input,
.TableGUI_Theme_Black .TableBox_TableBox textarea,
.TableGUI_Theme_Black .TableBox_TableBox select {
    background: var(--TableGUI-dark-bg-input);
    color: var(--TableGUI-dark-text);
    border: 1px solid var(--TableGUI-dark-border);
}

/* ---------------------------------------------------------------- Builder */

.TableGUI_Theme_Black .TableGUIBuilder .TableGUI_TableElement > tbody > tr.TableGUIBuilder_SectionRow td {
    background: var(--TableGUI-dark-section);
}

