/*
======================= START OF LICENSE NOTICE =======================
Copyright (C) 2023 Alessandro Battistini. All Rights Reserved
NO WARRANTY. THE PRODUCT IS PROVIDED BY DEVELOPER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DEVELOPER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE PRODUCT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
======================== END OF LICENSE NOTICE ========================
This file is an integral part of the framework AB_WEBMAP, please do not edit, use, modify or change without permission of the developer
*/

/* interfaccia editing di default */

/* =========================================================
   Layout dialog: top fisso, bottom fisso, middle scrollabile
   ========================================================= */
#ab_table_editTemplateDialog.ab-table-edit-dlg,
.ab-table-edit-dlg {
  display: flex;
  flex-direction: column;

  /* se è un "dialog" jQuery UI: spesso lui gestisce l'altezza */
  min-height: 200px;

  /* necessario per lo scroll interno del figlio flex */
  overflow: hidden;
}

/* Top e bottom non devono "shrinkare" */
.ab-table-edit-dlg .ab-top,
.ab-table-edit-dlg .ab-bottom {
  flex: 0 0 auto;
  position: static; /* elimina eventuali posizionamenti assoluti */
  width: auto;      /* non serve 100% in flex */
  height: 30px;
  padding: 5px;
}

/* Bordi sopra/sotto */
.ab-table-edit-dlg .ab-top {
  border-bottom: 1px solid;
}

.ab-table-edit-dlg .ab-bottom {
  border-top: 1px solid;
}

/* Middle prende tutto lo spazio rimasto e scrolla */
.ab-table-edit-dlg .ab-middle {
  flex: 1 1 auto;
  min-height: 0; /* FONDAMENTALE: abilita lo scroll interno nei flex */
  overflow-y: auto;
  overflow-x: hidden;

  padding: 10px;
  padding-right: 15px;
}

/* =========================================================
   Stili tabella (default)
   ========================================================= */
.ab-table-edit-dlg.default table {
  width: auto;
  /* width: 100%; controllare se andava bene questo o quello */
  height: auto;
}

.ab-table-edit-dlg.default table input.ab-field {
  width: 150px;
  height: 18px;
}

.ab-table-edit-dlg.default table div.ab-field,
.ab-table-edit-dlg.default table span.ab-field {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ab-table-edit-dlg.default table div.ab-field.ab-field-html,
.ab-table-edit-dlg.default table span.ab-field.ab-field-html {
  overflow: auto;
}

.ab-table-edit-dlg.default table .ab-field .item-title {
  display: none;
}

.ab-table-edit-dlg.default table tr td:first-child {
  max-width: 120px;
}

.ab-table-edit-dlg.default table .ab-field {
  border: black;
  border-style: solid;
  border-width: thin;
}

.ab-table-edit-dlg.default table span.ab-field {
  border-style: hidden;
}

.ab-table-edit-dlg.default table input[type="text"].ab-field,
.ab-table-edit-dlg.default table input[type="number"].ab-field,
.ab-table-edit-dlg.default table input[type="date"].ab-field,
.ab-table-edit-dlg.default table input[type="datetime-local"].ab-field,
.ab-table-edit-dlg.default table select.ab-field,
.ab-table-edit-dlg.default table div.ab-field,
.ab-table-edit-dlg.default table span.ab-field,
.ab-table-edit-dlg.default table textarea.ab-field,
.ab-table-edit-dlg.default table button.ab-field,
.ab-table-edit-dlg.default table .ab-fieldContainer td:nth-child(2) {
  width: 256px;
  padding-left: 5px;
  padding-right: 5px;
}

.ab-table-edit-dlg.default.ab_narrow table input[type="text"].ab-field,
.ab-table-edit-dlg.default.ab_narrow table input[type="number"].ab-field,
.ab-table-edit-dlg.default.ab_narrow table input[type="date"].ab-field,
.ab-table-edit-dlg.default.ab_narrow table input[type="datetime-local"].ab-field,
.ab-table-edit-dlg.default.ab_narrow table select.ab-field,
.ab-table-edit-dlg.default.ab_narrow table div.ab-field,
.ab-table-edit-dlg.default.ab_narrow table span.ab-field,
.ab-table-edit-dlg.default.ab_narrow table textarea.ab-field,
.ab-table-edit-dlg.default.ab_narrow table button.ab-field,
.ab-table-edit-dlg.default.ab_narrow table .ab-fieldContainer td:nth-child(2) {
  width: 156px;
}

.ab-table-edit-dlg.default.ab_wide table input[type="text"].ab-field,
.ab-table-edit-dlg.default.ab_wide table input[type="number"].ab-field,
.ab-table-edit-dlg.default.ab_wide table input[type="date"].ab-field,
.ab-table-edit-dlg.default.ab_wide table input[type="datetime-local"].ab-field,
.ab-table-edit-dlg.default.ab_wide table select.ab-field,
.ab-table-edit-dlg.default.ab_wide table div.ab-field,
.ab-table-edit-dlg.default.ab_wide table span.ab-field,
.ab-table-edit-dlg.default.ab_wide table textarea.ab-field,
.ab-table-edit-dlg.default.ab_wide table button.ab-field,
.ab-table-edit-dlg.default.ab_wide table .ab-fieldContainer td:nth-child(2) {
  width: 356px;
}

.ab-table-edit-dlg.default table input[type="text"].ab-field,
.ab-table-edit-dlg.default table input[type="number"].ab-field,
.ab-table-edit-dlg.default table input[type="date"].ab-field,
.ab-table-edit-dlg.default table input[type="datetime-local"].ab-field,
.ab-table-edit-dlg.default table select.ab-field,
.ab-table-edit-dlg.default table div.ab-field,
.ab-table-edit-dlg.default table span.ab-field {
  height: 23px;
}

.ab-table-edit-dlg.default table textarea.ab-field {
  resize: vertical;
}

.ab-table-edit-dlg.default table select.ab-field {
  /* text-align: center; */
}

.ab-table-edit-dlg.default table button.ab-field {
  background-repeat: no-repeat;
  /* background-attachment: fixed; */
  background-position: right;
  background-size: 20px 20px;
  height: 27px;
}

.ab-table-edit-dlg.default table input.unknow {
  background-color: lightgrey;
}

.ab-table-edit-dlg.default .ab-right,
.ab-table-edit-dlg.default .ab-left {
  align-items: center;
}

.ab-table-edit-dlg.default .ab-left {
  justify-content: left;
}

.ab-table-edit-dlg.default .ab-right {
  justify-content: right;
}

.ab-table-edit-dlg.default .ab-field.ab-field-changed {
  border-style: solid !important;
  border-width: 2px;
  border-color: blue !important;
  border-radius: 4px;
}

/* questo va bene per chrome */
.ab-table-edit-dlg.default input[type="checkbox"].ab-field-changed::before {
  border: 2px solid;
  border-color: blue;
  border-radius: 4px;
  width: 24px;
  height: 24px;
  transform: translate(-0px, -0px);
  content: "";
  position: absolute;
}

/* =========================================================
   Marker / Required / Null / Link
   ========================================================= */
.ab-table-edit-dlg .ab_joinTableLink {
  position: absolute;
  font-size: 16px;
  top: 12px;
  right: -16px;
}

.ab-table-edit-dlg .ab_requiredMarker {
  position: absolute;
  font-size: 16px;
}

.ab-table-edit-dlg .ab_required:after {
  content: "*";
  color: red;
  display: block;
  position: absolute;
  font-size: 16px;
  top: -2px;
  right: -8px;
}

.ab-table-edit-dlg .ab_required.ab_undefined:after {
  content: "!";
}

/* .ab-table-edit-dlg .ab_required:after {
    content: "*";
    color: blue;
} */

.ab-table-edit-dlg .ab_nullValue {
  opacity: 0.3;
}

.ab-table-edit-dlg .ab_nullValue:focus {
  opacity: 0.9;
}

/* se changed qualcosina si deve vedere, ma è una situazione che non si dovrebbe mai verificare */
.ab-table-edit-dlg .ab_nullValue.ab-field-changed {
  opacity: 0.3;
}

/* .ab-table-edit-dlg .ab_required.ab_nullValue:after {
    content: "*";
    color: red;
} */

/* =========================================================
   Icone / Background per tipi campo
   ========================================================= */
.ab-table-edit-dlg .ab-field-geometry.ab-field-point {
  background-image: url(../images/point.png);
}

.ab-table-edit-dlg .ab-field-geometry.ab-field-linestring {
  background-image: url(../images/linestring.png);
}

.ab-table-edit-dlg .ab-field-geometry.ab-field-polygon {
  background-image: url(../images/polygon.png);
}

.ab-table-edit-dlg .ab-field-image {
  background-image: url(../images/photo.png);
}

.ab-table-edit-dlg .ab-field-document {
  background-image: url(../images/document.png);
}

.ab-table-edit-dlg .ab-field-html {
  background-image: url(../images/html.png);
}

.ab-table-edit-dlg .ab-field-geometryNull {
  background-image: url(../images/empty.png);
}

/* .ab-table-edit-dlg .ab-field-geometry ab-field-point.ab-field-geometryNull {
    background-image: url(../images/point_empty.png);
}

.ab-table-edit-dlg .ab-field-geometry ab-field-linestring.ab-field-geometryNull {
    background-image: url(../images/linestring_empty.png);
}

.ab-table-edit-dlg .ab-field-geometry ab-field-polygon.ab-field-geometryNull {
    background-image: url(../images/polygon_empty.png);
} */

/* =========================================================
   Top/Bottom: padding interni e bottoni
   ========================================================= */
.ab-table-edit-dlg .ab-bottom .ab-right {
  padding-right: 5px;
}

.ab-table-edit-dlg .ab-bottom .ab-left {
  padding-left: 5px;
}

.ab-table-edit-dlg i.ab-fieldBtn,
.ab-table-edit-dlg i.ab-fieldBtn2,
.ab-table-edit-dlg i.ab-fieldBtn3 {
  font-size: 20px;
}

/* .ab-table-edit-dlg .ab-top i {
    font-size: 20px;
} */

.ab-table-edit-dlg .ab-top button,
.ab-table-edit-dlg .ab-bottom button {
  width: 35px;
  height: 30px;
}

/* =========================================================
   Varie
   ========================================================= */
.ab-table-elementJoined .item-media {
  flex-flow: column;
  align-items: flex-start;
}

.ab-table-edit-dlg .wait-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9000;
  width: 50px;
  height: 50px;
}

.ab-table-edit-dlg .ab-fieldContainer td:nth-child(2) {
  text-align: right;
  display: flex;
}

/* =========================================================
   TAB DEI GRUPPI
   ========================================================= */
.ab-table-edit-dlg.default .ab-tabs-fieldGroups {
  padding-top: 15px;
}

/* Contenitore delle tab */
.ab-table-edit-dlg.default .ab-tabs-fieldGroups .tab-links {
  display: flex;
  border-bottom: 3px solid #444;
  /* gap: 5px; */
  padding: 0;
  flex-wrap: wrap;
  text-align: center;
  justify-content: flex-start;
  width: 97%;
  margin: auto;
}

/* Stile base delle tab */
.ab-table-edit-dlg.default .ab-tabs-fieldGroups .tab-link {
  display: inline-block;
  padding: 0px 4px;
  font-size: small;
  text-decoration: none;
  color: #666;
  background: #f0f0f0;
  border: 1px solid #ccc;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  transition: all 0.3s ease;
  flex-grow: 1;
}

/* Hover sulle tab */
.ab-table-edit-dlg.default .ab-tabs-fieldGroups .tab-link:hover {
  background: #ddd;
  color: #333;
}

/* Tab attiva */
.ab-table-edit-dlg.default .ab-tabs-fieldGroups .tab-link-active {
  background: #444;
  color: white;
  font-weight: bold;
  border-color: #444;
}

.ab-table-edit-dlg.default .ab-tabs-fieldGroups table {
  margin-left: auto;
  margin-right: 0;
}

/* =========================================================
   Disabled select / error
   ========================================================= */
.ab-table-edit-dlg select:disabled {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
}

.ab-field-error {
  color: red !important;
}
