.noBorders tr, .noBorders td {
  background: none !important;
  border: none !important;
}

.ui-filter-column .ui-column-customfilter .custom-filter {
  width: 100%;
  box-sizing: border-box;

}

.ui-datatable input {
  box-sizing: border-box;
  width: 100%;
  -webkit-box-shadow: none;
  box-shadow: none !important;
}

.ui-row-editor .ui-row-editor-pencil {
  margin-left: 8px;
}

.ui-state-highlight {
  text-shadow: none !important;
}

/* 
   EXTREM HOHE SPEZIFITÄT: 
   Vollständiger Reset der PrimeFaces Button-Struktur für perfekte Zentrierung 
*/
/* 
   ULTRAMAXIMALE SPEZIFITÄT: 
   Erzwingt RISER-Grün und neutralisiert PrimeFaces-Theme-Blau vollständig.
   Gilt für das gesamte Portal inklusive Login-Seite.
*/
body .ui-button.ui-state-default,
body .ui-button.ui-widget,
body .riser-form .ui-button.ui-state-default,
body .ui-fileupload-choose.ui-state-default,
body .ui-button,
body .ui-fileupload-choose {
  background: #abca0c !important;
  background-color: #abca0c !important;
  color: #ffffff !important;
  text-shadow: none !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 1rem !important;
  border: none !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
  line-height: normal !important;
  text-decoration: none !important;
  overflow: visible !important;
  white-space: nowrap !important;
  font-size: 0.95em !important;
}

/* Hover-Zustand: RISER-Hellgrün erzwingen */
body .ui-button.ui-state-hover,
body .ui-button.ui-state-focus,
body .ui-button:hover,
body .ui-fileupload-choose.ui-state-hover,
body .ui-fileupload-choose:hover,
body .ui-linkbutton.ui-state-hover,
body .ui-linkbutton:hover {
  background: #90ca4d !important;
  background-color: #90ca4d !important;
  color: #ffffff !important;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2) !important;
}

/* Aktiver Zustand / Click */
body .ui-button.ui-state-active,
body .ui-button:active,
body .ui-linkbutton.ui-state-active,
body .ui-linkbutton:active {
  background: #7ca50a !important;
  background-color: #7ca50a !important;
}

/* Sekundär-Buttons */
body .ui-button.btn-secondary.ui-state-default,
body .ui-button.btn-secondary {
  background: #f3f3f3 !important;
  background-color: #f3f3f3 !important;
  color: #003059 !important;
  border: 1px solid #d2dce7 !important;
}

body .ui-button.btn-secondary.ui-state-hover,
body .ui-button.btn-secondary:hover {
  background: #e4eefa !important;
  background-color: #e4eefa !important;
  border-color: #abca0c !important;
}

/* 
   SELECTONEBUTTON (Toggle/Segmented Controls)
   Soll denselben geometrischen Regeln folgen, aber optisch als Umschalter erkennbar sein.
*/
body .ui-selectonebutton {
  display: inline-flex !important;
  border: 1px solid #d2dce7 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  vertical-align: middle !important;
}

body .ui-selectonebutton .ui-button {
  background: #f8f9fb !important;
  color: #003059 !important;
  border: none !important;
  border-right: 1px solid #d2dce7 !important;
  border-radius: 0 !important;
  height: 28px !important;
  padding: 0 1rem !important;
  box-shadow: none !important;
  font-weight: normal !important;
  font-size: 0.95em !important;
}

body .ui-selectonebutton .ui-button:last-child {
  border-right: none !important;
}

body .ui-selectonebutton .ui-button.ui-state-active {
  background: #abca0c !important;
  color: #ffffff !important;
}

body .ui-selectonebutton .ui-button.ui-state-default:not(.ui-state-active) {
  background: #f8f9fb !important;
  color: #003059 !important;
}

body .ui-selectonebutton .ui-button.ui-state-hover:not(.ui-state-active) {
  background: #e4eefa !important;
}

/* Link-Buttons und CommandLinks an Button-Geometrie anpassen */
body .ui-linkbutton,
body .ui-commandlink.ui-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 1rem !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
  text-decoration: none !important;
}

/* 
   FILEUPLOAD-LOGIK: 
   Extrem spezifische Regeln, um die globalen Button-Styles zu übersteuern.
*/
/* 1. Den Cancel-Button unter ALLEN Umständen ausblenden */
body .riser-portal .ui-fileupload-cancel,
body .ui-fileupload-cancel,
body .ui-fileupload-cancel.ui-button,
body .riser-form .ui-fileupload .ui-fileupload-cancel,
.ui-fileupload-buttonbar .ui-fileupload-cancel {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 2. Den Upload-Button initial (wenn disabled) ausblenden */
body .riser-portal .ui-fileupload-upload.ui-state-disabled,
body .ui-fileupload-upload.ui-state-disabled,
.ui-fileupload-buttonbar .ui-fileupload-upload.ui-state-disabled {
  display: none !important;
  visibility: hidden !important;
}

/* 3. Abstand zwischen den Buttons korrigieren */
body .ui-fileupload-choose {
  margin-right: 0.5rem !important;
}

/* Neutralisierung der internen PrimeFaces-Container, die Verschiebungen verursachen */
body .ui-button .ui-button-text,
body .ui-fileupload-choose .ui-button-text {
  padding: 0 !important;
  margin: 0 !important;
  display: inline-block !important;
  line-height: normal !important;
  position: static !important;
}

/* Icons radikal mittig setzen und Standard-Offsets von PrimeFaces löschen */
body .ui-button .ui-icon,
body .ui-button .pi,
body .ui-button-icon-left,
body .ui-button-icon-right {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  top: auto !important;
  left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-indent: 0 !important;
  background-image: none !important;
}

/* Spezifische Korrektur für quadratische Icon-Buttons (Delete-Button ist nun auch Grün) */
body .ui-button.btn-delete,
body .riser-portal .ui-button.btn-delete {
  background: #abca0c !important;
  background-color: #abca0c !important;
  color: #ffffff !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  border: none !important;
}

body .ui-button.btn-delete:hover,
body .riser-portal .ui-button.btn-delete:hover {
  background: #90ca4d !important;
  background-color: #90ca4d !important;
  color: #ffffff !important;
}

body .ui-button.btn-delete .ui-button-text {
  display: none !important;
}

body .ui-button.btn-delete .pi,
body .ui-button.btn-delete .ui-icon {
  font-size: 16px !important;
}

/* Platzhalter für Icons in Text-Buttons vollständig eliminieren */
body .fileupload-manual .ui-button-icon-left {
  display: none !important;
}

/* Spezifische Korrektur für PrimeIcons in Buttons, falls diese durch das Theme versteckt werden */
.ui-button .ui-icon, .ui-button .pi {
  text-indent: 0 !important;
  background: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.ui-fileupload-choose.ui-state-hover, .ui-fileupload-choose.ui-state-focus, .ui-fileupload-upload.ui-state-hover {
  background-color: #90ca4d !important;
}

/* Spezial-Styling für den manuellen Upload-Button: Initial ausblenden, wenn deaktiviert */
.fileupload-manual .ui-fileupload-upload.ui-state-disabled {
  display: none !important;
}

/* Cancel-Button im FileUpload vollständig entfernen (redundant) */
.fileupload-manual .ui-fileupload-cancel,
.riser-form .ui-fileupload .ui-fileupload-cancel {
  display: none !important;
}

/* Abstand zwischen Choose und Upload Button korrigieren, falls Cancel fehlt */
.fileupload-manual .ui-fileupload-choose {
  margin-right: 0.5rem !important;
}

/*
.ui-datatable .ui-button,  .ui-datatable button.ui-button.ui-state-default, .ui-datatable .ui-button.ui-state-default {
	padding: 0 !important;
}
*/

.ui-button.icon-button {
  padding: 0 !important;
}

.riser-form .ui-button {
  padding: 0 !important;
  border: 1px solid #abca0c;
}

.ui-button.nopadding {
  padding: 0 !important;
}

.riser-form .ui-outputlabel {
  font-weight: bold;
  color: #003059;
}

.riser-form .ui-inputfield, .ui-inputfield.riser-input-field {
  display: block;
  font-size: 1.1em;
  box-sizing: border-box;
  border-radius: 2px;
  padding: .3em .5em;
  border: 1px solid #d2dce7;
  width: 100%;
}

.riser-form .ui-selectonemenu {
  border: 1px solid #d2dce7;
  border-radius: 2px;
  width: 100%;
}

.riser-form .ui-selectonemenu-label {
  padding: .1em .5em;
}

.riser-form .ui-selectonemenu-trigger {
  background-color: #f3f3f3;
}

.riser-form .ui-messages {
  background-color: none !important;
  border-color: none !important;
}

.ui-message.ui-message-error {
  /* Muss unterschieden werden zwischen gerahmten und nicht (z.B Unter Textfelder in Form) */
  color: tomato;
}

.ui-staticmessage.ui-message-error {
  color: #fff;
}


.riser-form .ui-message-error-detail {
  margin: 0 !important;
}

.riser-form .ui-message-info, .riser-form .ui-message-error, .riser-form .ui-message-warn,
.riser-form .ui-message-fatal {
  border: none !important;
  margin: 0.3em 0 !important;
  padding: 0 !important;
  font-size: .9em !important;
  background-color: inherit;
}

.ui-tabs.ui-widget-content {
  border: 1px solid #d5d5d5 !important;
}

/*
 * Datepicker passend zu unserem Design (TODO: Muss noch verbessert werden). 
*/
.ui-datepicker .ui-datepicker-header {
  /* 	background: -webkit-linear-gradient(top,#a7c50e 0,#90ca4d 100%);  */
  /* 	background: -webkit-linear-gradient(top,#1b81b5 0,#117171 100%); */
  background: #abca0c;
}

.ui-datepicker .ui-datepicker-title {
  color: #444;
}

.ui-datepicker th {
  /* background: -webkit-linear-gradient(top,#1b81b5 0,#117171 100%); */
  /* background: -webkit-linear-gradient(top,#a7c50e 0,#90ca4d 100%); */
  background: #f7f7f7;
  text-shadow: none !important;
  /* color: #abca0c !important; */
  color: #333 !important;
  font-weight: bold !important;
  font-size: .9em;
}

.ui-datepicker td a.ui-state-default {
  color: #5d5d5d;
  background: #fff;
}

/*
 * DIV-Element mit Fehlermeldung ohne das "X" icon am Anfang
*/
.ui-messages-error-icon {
  background: none !important;
}

.p-grid, .p-grid.main-grid {
  margin: 0 !important;
}

/*
	FileUpload ohne Rahmen und Border (Nur als Button).
*/

/*
.upload-inquiry-file .ui-fileupload-content {
    display: none;
}
*/

.ui-fileupload.simple-skin .ui-fileupload-content,
body .riser-portal .ui-fileupload.customer-upload-skin .ui-fileupload-content {
  display: none !important;
}

/*
   Customer-Upload-Skin:
   Nur den "Datei auswählen"-Button anzeigen, ohne Icon, zentriert,
   ohne Rahmen und grauen Hintergrund der Komponente.
*/
body .riser-portal .ui-fileupload.customer-upload-skin,
body .riser-portal .ui-fileupload.customer-upload-skin .ui-fileupload-buttonbar,
body .riser-portal .ui-fileupload.customer-upload-skin .ui-fileupload-content {
  border: none !important;
  background: none !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body .riser-portal .ui-fileupload.customer-upload-skin .ui-fileupload-buttonbar {
  border: none !important;
  background: transparent !important;
}

body .riser-portal .ui-fileupload.customer-upload-skin .ui-fileupload-choose .ui-button-icon-left {
  display: none !important;
}

/* Verstecke auch die Dateiliste und interne Nachrichten im Customer-Upload, da diese den Layout-Fluss stören */
body .riser-portal .ui-fileupload.customer-upload-skin .ui-fileupload-files,
body .riser-portal .ui-fileupload.customer-upload-skin .ui-fileupload-messages,
div[id$="uploadFilesfileUpload"] .ui-fileupload-content {
  display: none !important;
}

/* 
   Den Buttonbar-Container nicht verstecken (da der Choose-Button darin liegt), 
   sondern nur dessen Styling neutralisieren.
*/
body .riser-portal .ui-fileupload.customer-upload-skin .ui-fileupload-buttonbar,
div[id$="uploadFilesfileUpload"] .ui-fileupload-buttonbar {
  display: block !important; /* Sicherstellen, dass er da ist */
  border: none !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 
   FALLBACK: Wenn display:none nicht greift, dann radikal alles auf 0 und transparent setzen.
   Wir adressieren die IDs mittels End-With Selektor, da JSF IDs generiert.
*/
div[id$="uploadFilesfileUpload"],
div[id$="uploadFilesfileUpload"] .ui-fileupload-buttonbar,
div[id$="uploadFilesfileUpload"] .ui-fileupload-content {
  border: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 
   Nur der Choose-Button (der einzige der bleibt) soll sichtbar sein.
   In PrimeFaces "Simple" oder "Advanced" Mode ist das oft .ui-fileupload-choose.
   WICHTIG: Wir verstecken die anderen Buttons in der Buttonbar explizit.
*/
div[id$="uploadFilesfileUpload"] .ui-fileupload-choose {
  display: inline-flex !important;
}

div[id$="uploadFilesfileUpload"] .ui-fileupload-upload,
div[id$="uploadFilesfileUpload"] .ui-fileupload-cancel {
  display: none !important;
}

/*
 Tooltips mit einem anderen Hintergrund/Schriftfarbe und maximal 500px.
*/
.ui-tooltip .ui-tooltip-text {
  background-color: #fdf4bd !important;
  color: #333 !important;
  max-width: 500px !important;
}

/*
 * Margin nach rechts kleiner, wenn ein "?" mit Tooltip rechts davon steht.
 */
.ui-chkbox.with-help-icon .ui-chkbox-label {
  margin-right: 4px !important;
}

/*
 * AutoComplete Felder als "block" (inline-block von Primefaces �berschreiben)
 */
.riser-autocomplete-feld {
  display: block !important;
}

/*
 * Eingabefeld zum Filter in SelectOneMenu immer �ber die ganze Breite.	
 */
.ui-selectonemenu-panel .ui-selectonemenu-filter-container {
  width: 100% !important;
}

/*
 * Wei�er Hintergrund, damit nicht Teil des Labels/Eingabefelds grau dargestellt wird (Wenn die Maus dr�ber ist, oder beim Selektieren). 
 */
.ui-selectonemenu.ui-corner-all.ui-state-hover, .ui-selectonemenu.ui-corner-all.ui-state-focus {
  background: #fff !important;
}

.ui-dialog .ui-dialog-buttonpane .buttons-container {
  text-align: center !important;
}

.ui-dialog .ui-button {
  padding: 0 !important;
}

/*
* Tab ohne title/border: F�r Optionen mit nur einer Gruppe ohne Titel. (BoWi KfW).
*/
.ui-tabs .ui-tabs-nav li.no-border {
  border: none !important;
}

@media screen and (min-width: 40.063em) {
  .ui-md-1 {
    width: 100% !important;
  }
}

/* PanelGrid ohne Rahmen */
.no-border-panelgrid .ui-widget-content {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Panel ohne Rahmen und Header (für Customer Upload) */
.no-border-panel {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.no-border-panel .ui-panel-titlebar {
  display: none !important;
}

.no-border-panel .ui-panel-content {
  border: none !important;
  background: none !important;
  padding: 0 !important;
}

/* 
   Spezifische Korrektur für Panels in der RISER-Form:
   Neutralisiert Hintergründe und Rahmen von p:panel-Inhalten.
*/
.riser-form .no-border-panel.ui-panel .ui-panel-content {
  background: none !important;
  border: none !important;
}

/* Nachrichtenzentrierung */
/*
.ui-messages {
  text-align: center;
  justify-content: center;
}
*/
