:root{
  --ispt-green:#0b7a3b;
  --ispt-green-dark:#075d2d;
  --ispt-green-soft:#eaf7ef;
  --ispt-white:#ffffff;
  --ispt-border:#d8e8dd;
}
body{background:#f7faf8;color:#173b27}
.navbar.bg-primary,.btn-primary{background-color:var(--ispt-green)!important;border-color:var(--ispt-green)!important}
.btn-primary:hover{background-color:var(--ispt-green-dark)!important;border-color:var(--ispt-green-dark)!important}
.text-primary{color:var(--ispt-green)!important}
.card{border-color:var(--ispt-border)}
.card-header{background:var(--ispt-green-soft);color:var(--ispt-green-dark);font-weight:600}
.list-group-item-action:hover{background:var(--ispt-green-soft)}
.badge.text-bg-success{background-color:var(--ispt-green)!important}
.table thead th{background:var(--ispt-green-soft);color:var(--ispt-green-dark)}
.slot:hover{background:var(--ispt-green-soft)!important}


.ispt-sidebar{position:fixed;left:0;top:0;bottom:0;width:270px;background:#075d2d;color:#fff;overflow-y:auto;z-index:1040;box-shadow:2px 0 12px rgba(0,0,0,.12)}
.ispt-sidebar-brand{padding:22px 22px 14px;border-bottom:1px solid rgba(255,255,255,.15)}
.brand-mark{font-size:1.8rem;font-weight:800;letter-spacing:.04em}
.brand-subtitle{font-size:.88rem;opacity:.85}
.ispt-user-card{margin:16px;padding:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:12px}
.ispt-user-name{font-weight:700;line-height:1.25}
.ispt-user-id{font-size:.82rem;opacity:.82;margin-top:3px}
.ispt-user-role{display:inline-block;margin-top:8px;font-size:.72rem;padding:3px 8px;border-radius:999px;background:#fff;color:#075d2d;font-weight:700}
.ispt-menu{padding:0 12px 24px}
.ispt-menu a{display:block;padding:10px 12px;margin:2px 0;color:#fff;text-decoration:none;border-radius:8px;font-size:.92rem}
.ispt-menu a:hover,.ispt-menu a.active{background:#fff;color:#075d2d}
.ispt-menu-title{padding:16px 12px 5px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.65;font-weight:700}
.ispt-menu-footer{padding-top:18px;margin-top:12px;border-top:1px solid rgba(255,255,255,.15)}
.ispt-page{padding:24px}
.navbar{display:none!important}


/* Em ecrãs pequenos o menu continua do lado esquerdo,
   ficando mais estreito em vez de subir para o topo. */
@media (max-width:700px){
  body{
    padding-left:210px !important;
  }
  .ispt-sidebar{
    width:210px !important;
  }
  .ispt-page{
    padding:16px !important;
  }
  .ispt-user-card{
    margin:10px;
    padding:10px;
  }
  .ispt-menu{
    padding:0 8px 18px;
  }
  .ispt-menu a{
    padding:9px 8px;
    font-size:.84rem;
  }
}


/* V1.4.3.2 — navegação restaurada ao formato original */
body{
  margin:0 !important;
  padding-left:0 !important;
  min-height:100vh;
  background:#f7faf8;
}
.navbar{
  display:flex !important;
}
.ispt-page{
  margin:0 !important;
  padding:0 !important;
}

.dashboard-tools{
  margin-left:1.5rem;
  margin-right:1.5rem;
}
@media (min-width: 992px){
  .dashboard-tools{
    margin-left:2rem;
    margin-right:2rem;
  }
}


/* V1.4.6.2 — combobox pesquisável */
.ispt-combobox{
  position:relative;
}
.ispt-original-select{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  left:-9999px !important;
}
.ispt-combobox-input{
  border-color:#b8d8c3;
}
.ispt-combobox-input:focus{
  border-color:#0b7a3b;
  box-shadow:0 0 0 .2rem rgba(11,122,59,.12);
}
.ispt-combobox-list{
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  right:0;
  z-index:3000;
  max-height:280px;
  overflow-y:auto;
  background:#fff;
  border:1px solid #cdd8d1;
  border-radius:.5rem;
  box-shadow:0 .5rem 1rem rgba(0,0,0,.12);
}
.ispt-combobox-item{
  display:block;
  width:100%;
  padding:.65rem .8rem;
  border:0;
  border-bottom:1px solid #eef3ef;
  background:#fff;
  text-align:left;
  color:#173b27;
}
.ispt-combobox-item:hover,
.ispt-combobox-item:focus{
  background:#eaf7ef;
  color:#075d2d;
  outline:none;
}
.ispt-combobox-empty{
  padding:.75rem;
  color:#6c757d;
}
