:is([data-sidebar="icon"], [data-sidebar="icon-hover"]) .pe-app-sidebar-logo .logo-main small {
  display: none;
}





.modal .modal-header .close {
  color: #999999;
}
.modal-dialog .modal-header .close {
  position: absolute;
  top: 15px;
  right: 20px;
}

.modal-dialog .modal-header .modal-title {
  text-align: center;
  width: 100%;
}
.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}


.modal {
  --pe-modal-zindex: 1055;
  --pe-modal-width: 1000px!important;
  
  
}



 #loader {
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(255, 255, 255, 0.9);
      display: flex;  /* odmah vidljiv */
      justify-content: center;
      align-items: center;
      z-index: 9999;
    }
    .spinner {
      border: 8px solid #f3f3f3;
      border-top: 8px solid #3498db;
      border-radius: 50%;
      width: 60px; height: 60px;
      animation: spin 1s linear infinite;
    }
    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
    
    
    
              
               /* === FORM ICON FIX ZA URBIX === */
        /* Resetujemo ranije apsolutno pozicioniranje */
        .form-icon {
          position: relative;
          padding-bottom: 0; /* više ne treba dodatni prostor */
        }
        
        
        /* Samo da ikona ostane lepo poravnata */
        .form-icon > i {
          position: absolute;
          left: 0.9rem;
          top: 50%;
          transform: translateY(-50%);
          font-size: 1rem;
          color: #6c757d;
          pointer-events: none;
          justify-content:flex-start!important;
        }
        
        
                
        /* centrira i vraća ikonu tačno levo */
        .form-icon > i {
          position: absolute;
          left: 0.9rem;              /* fino podešavanje – po potrebi 0.8–1.0rem */
          top: 50%;
          transform: translateY(-50%);
          font-size: 1rem;
          line-height: 1;
          pointer-events: none;
        }
        
        /* zadrži punu širinu inputa – ispravno u okviru flex/grid kolona */
        .form-control-icon {
          width: 100%;               /* 🟢 vraća širinu – ne skuplja input */
          padding-left: 2.5rem;      /* dovoljno prostora za ikonu, ne utiče na labelu */
          box-sizing: border-box;
        }
        
        /* invalid feedback uvek ispod, bez pomeranja inputa ili ikone */
        .form-icon .invalid-feedback {
          position: absolute;
          left: 0;
          bottom: -1.25rem;
          width: 100%;
          font-size: 0.8125rem;
          color: #dc3545;
          display: none;
        }
        
        /* kada je input invalid, ne menja layout – samo boju obruba */
        .form-control.is-invalid {
          padding-right: 0.75rem;    /* zadrži širinu bez dodatnog “crvenog” prostora */
        }
        /* --- dodatni prostor ispod poruke o grešci --- */
        /* pomeraj poruku ispod inputa, ali da ne dira visinu inputa */
        .form-icon .invalid-feedback {
          position: absolute;
          left: 0;
          bottom: -1.0rem;      /* fino podešavanje – možeš testirati -1.0 do -1.3rem */
          font-size: 0.8125rem;
          
          color: #dc3545;
         
        }	
        
        
        /* === crvena ikona kad je polje nevalidno === */
        .form-icon:has(.is-invalid) > i {
          color: #dc3545 !important;   /* bootstrap danger crvena */
        }
        
        /* === zelena ikona kad je polje validno === */
        .form-icon:has(.is-valid) > i {
          color: #198754 !important;   /* bootstrap success zelena */
        }


        /* === crveni placeholder u Select2 kada je polje nevalidno === */
       
        
        /* === boja teksta placeholdera kad je nevalidan === */
        .is-invalid + .select2-container--default .select2-selection__placeholder {
          color: #dc3545 !important;              /* crvena kao kod inputa */
          opacity: 0.9;
        }
        
        /* === boja regularnog placeholdera (kad nije nevalidno) === */
        .select2-container--default .select2-selection__placeholder {
          color: #6c757d;                         /* siva kao kod input ikona */
          opacity: 1;
        }
        
        /* === ukloni glow kad se popravi === */
        .is-valid + .select2-container--default .select2-selection--single {
          border-color: #198754 !important;       /* zelena kad je validno */
          box-shadow: none !important;
        }

		.is-invalid ~ .invalid-feedback, .is-invalid ~ .invalid-tooltip {
		  display: none;
		}
    
    
    
		.select2-container {
		  box-sizing: border-box;
		  display: block;
		  margin: 0;
		  position: relative;
		  vertical-align: middle;
		}    
        .select2-container .select2-selection--single {
          box-sizing: border-box;
          cursor: pointer;
          display: block;
          height: 34px;
          user-select: none;
          -webkit-user-select: none;
        }
        .select2-container--default .select2-selection--single .select2-selection__clear {
          cursor: pointer;
          float: right;
          font-weight: bold;
          height: 34px;
          margin-right: 20px;
          padding-right: 0px;
        }
        .select2-container--default .select2-selection--single .select2-selection__arrow {
          height: 34px;
          position: absolute;
          top: 1px;
          right: 1px;
          width: 20px;
        }    
        
        
        .air-datepicker {
    		z-index: 2000 !important;
		}
		
		
		        
		.swal-file-spinner {
		    display: none;
		    margin-top: 8px;
		    text-align: center;
		}      
		
		
		
      :root .air-datepicker {
		  --adp-day-cell-height: 30px !important;
		}
		
		
        .custom-tooltip .tooltip-inner {
            background-color: #2E5077;
        }
        .custom-tooltip .tooltip-arrow::before {
            border-top-color: #2E5077 !important;
        }		
        
        
        .custom-tooltip-warning .tooltip-inner {
            background-color: red;
        }
        .custom-tooltip-warning .tooltip-arrow::before {
            border-top-color: red !important;
        }	
        
        #spanSvrha {
		    display: -webkit-box;
		    -webkit-line-clamp: 2;   /* broj redova */
		    -webkit-box-orient: vertical;
		    overflow: hidden;
		    white-space: normal;
		    max-width: 420px;
		}
		
		
		
		
		
		
		/* SIDEBAR MINI MODE */
		[data-sidebar="icon"] body .pe-nav-link span,
		[data-sidebar="icon"] body .pe-nav-link .pe-nav-content,
		[data-sidebar="icon"] body .pe-nav-link .pe-nav-content1 {
		    display: none !important;
		}
		
		/* sakrij naslove sekcija */
		[data-sidebar="icon"] body .pe-menu-title,
		[data-sidebar="icon"] body small {
		    display: none !important;
		}
		
		/* centriraj ikonice */
		[data-sidebar="icon"] body .pe-nav-link {
		    display: flex !important;
		    justify-content: center !important;
		    align-items: center !important;
		    padding: 12px 0 !important;
		}
		
		/* ukloni razmake oko ikona */
		[data-sidebar="icon"] body .pe-nav-icon,
		[data-sidebar="icon"] body .pe-nav-link i {
		    margin: 0 !important;
		    font-size: 20px;
		}
		
		/* ubij sve što može da “viri” */
		[data-sidebar="icon"] body .pe-slide-item,
		[data-sidebar="icon"] body .pe-nav-link {
		    overflow: hidden !important;
		    white-space: nowrap !important;
		}
			
			
		.icon-dot {
		    position: absolute;
		    top: 5px;
		    right: 5px;
		    width: 10px;
		    height: 10px;
		    background: red;
		    border-radius: 50%;
		
		    animation: pulse 1.5s infinite;
		}
		
		/* animacija */
		@keyframes pulse {
		    0% {
		        transform: scale(1);
		        opacity: 1;
		    }
		    50% {
		        transform: scale(1.5);
		        opacity: 0.5;
		    }
		    100% {
		        transform: scale(1);
		        opacity: 1;
		    }
		}	
		
		        
        .iti.iti--allow-dropdown.iti--show-flags.iti--inline-dropdown{
            width:100%;
        }
        
        
        
        .iti--inline-dropdown .iti__dropdown-content{
		    top:auto !important;
		    bottom:100%;
		}
		
		
		