/*
 * It is advised not to edit the smartadmin_production.css
 * as this will override any changes you make in the 
 * later versions of this theme. 
 * 
 * We advise that you use use this CSS to override 
 * SmartAdmin styles. 
 * 
 * Rename the stylesheet to whatever your liking so it will stay
 * unique to you with each update of SmartAdmin.
 */

/*
 * INDEX
 * 
 * - HTML
 * - BODY
 * - CUSTOM STYLES
 */

 .ng-valid[required], .ng-valid.required  {
  /*border-left: 5px solid #42A948 !important;*/
  border-color: #7DC27D !important;
}
.ng-invalid:not(form)  {
  /*border-left: 5px solid #a94442 !important; */
  border-color: #A90329 !important;
}
.ui-growl-item{
  color: #ffffff;
}
/*.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight{
  color: #ffffff !important;
} */
/*.crud-form .input-group-btn{
  padding: 6px 12px 7px 12px !important;
}*/

/* Action buttons (Add New, Edit, Remove, Copy…) above data tables inside panel-body.
   Buttons can be nested inside animation wrappers (*ngIf removes DOM nodes so
   :first-child is unreliable). Every button gets uniform spacing. */
.panel-body > input[type="button"].btn,
.panel-body > button.btn {
  margin-bottom: 10px;
}

.panel-body input[type="button"].btn,
.panel-body button.btn {
  margin: 0 4px 8px 4px;
}

/* Buttons placed as direct children of <tab> content (ngx-bootstrap renders <tab> as div.tab-pane).
   These appear outside panel-body — e.g. INSERT/Delete on agreement/category tabs. */
.tab-pane input[type="button"].btn,
.tab-pane button.btn {
  margin: 0 4px 8px 4px;
}

/* Prevent sidebar menu text from overlapping the collapse (+) button.
   - <a> is set to position:relative so the absolutely-placed <b> anchors to it.
   - <b class="collapse-sign"> is forced to absolute right:10px, vertically centered.
   - <span.menu-item-parent> is capped with max-width so it never reaches the button. */
nav > ul > li > a {
  position: relative !important;
  display: block !important;
  padding-right: 34px !important;
}
nav > ul > li > a > span.menu-item-parent {
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  word-break: break-word;
  max-width: calc(100% - 30px);
}
nav > ul > li > a > b.collapse-sign {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  line-height: 1 !important;
}

/* File input: add gap between "Choose File" button and "No file chosen" label */
input[type="file"] {
  padding: 3px 0;
}
input[type="file"]::file-selector-button {
  margin-right: 12px !important;
}
input[type="file"]::-webkit-file-upload-button {
  margin-right: 12px !important;
}

/* Global textarea resize fallback for SmartAdmin forms */
body .smart-form .textarea textarea,
body .smart-form textarea,
body textarea.form-control,
body textarea {
  resize: both !important;
  max-height: none !important;
  min-height: 80px !important;
  overflow: auto !important;
}

/* Keep native resize handle visible in widget-based layouts */
body .widget-body,
body .jarviswidget .widget-body,
body .jarviswidget [role="content"] {
  overflow: visible !important;
}