/* ============================================================
   Mediateca – admin shell e pannelli
   ============================================================ */

.med-page-admin .med-admin-actions .btn{
  min-height: 2.7rem;
}

.med-admin-panel-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  flex-wrap: wrap;
}

.med-admin-panel-title{
  margin-bottom: .15rem;
}

.med-admin-box{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 .08rem .24rem rgba(0,0,0,.04);
}

.med-admin-box .card-body{
  padding: .9rem;
}

.med-admin-summary-list{
  display: grid;
  gap: .55rem;
}

.med-admin-summary-item{
  padding: .7rem .8rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: .75rem;
  background: #fff;
}

.med-admin-summary-item.is-warning{
  border-color: rgba(255, 193, 7, .7);
  background: rgba(255, 243, 205, .65);
}

.med-admin-mini-note{
  font-size: .82rem;
  color: rgba(0,0,0,.62);
}

.med-admin-grid-tight{
  display: grid;
  gap: .75rem;
}

.med-admin-list-stack{
  display: grid;
  gap: .2rem;
}

.med-admin-row{
  display: flex;
  gap: .3rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: .3rem .45rem;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: .75rem;
  background: #fff;
}

.med-admin-row.is-warning{
  border-color: rgba(255, 193, 7, .7);
  background: rgba(255, 243, 205, .65);
}

.med-admin-row-main{
  min-width: 0;
  flex: 1 1 auto;
}

.med-admin-row-actions{
  flex: 0 0 auto;
  display: inline-flex;
  gap: .2rem;
  align-items: flex-end;
  flex-wrap: wrap;
}

.admin-unita-urgent-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}

.admin-unita-urgent-item{
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .34rem .5rem;
  border: 1px solid rgba(220,53,69,.35);
  border-radius: .5rem;
  background: rgba(220,53,69,.06);
}

.admin-unita-row{
  padding-top: .52rem;
  padding-bottom: .58rem;
}

.admin-unita-row .form-label{
  margin-bottom: .12rem !important;
}

.admin-unita-chiusa.form-check-input{
  --med-unita-switch-dot: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
  border-color: #dc3545;
  background-color: #dc3545;
  background-image: var(--med-unita-switch-dot);
}

.admin-unita-chiusa.form-check-input:focus{
  border-color: #dc3545;
  box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25);
}

.admin-unita-chiusa.form-check-input.is-available,
.admin-unita-chiusa.form-check-input:checked{
  border-color: #198754;
  background-color: #198754;
  background-image: var(--med-unita-switch-dot);
}

.admin-unita-chiusa.form-check-input.is-available:focus,
.admin-unita-chiusa.form-check-input:checked:focus{
  border-color: #198754;
  box-shadow: 0 0 0 .2rem rgba(25, 135, 84, .25);
}

.med-admin-placeholder-table{
  font-size: .9rem;
}

.med-admin-pill{
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .15rem .5rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.14);
  background: rgba(248,249,250,.95);
  font-size: .78rem;
}

.med-admin-color-chip{
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.2);
  flex: 0 0 auto;
}

.med-admin-inline-form{
  display: grid;
  gap: .5rem;
}

.med-admin-inline-form .form-label{
  margin-bottom: .2rem;
  font-size: .82rem;
  font-weight: 600;
}

.med-admin-inline-actions{
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
}

.med-admin-drag-handle{
  cursor: grab;
  user-select: none;
}

.med-admin-drag-handle:active{
  cursor: grabbing;
}

.med-admin-sortable .med-admin-row{
  transition: box-shadow .12s ease, opacity .12s ease, transform .12s ease;
}

.med-admin-sortable .med-admin-row.is-dragging{
  opacity: .55;
  box-shadow: 0 .45rem 1rem rgba(0,0,0,.16);
}

.med-admin-anomaly-list{
  margin: .35rem 0 0 0;
  padding-left: 1rem;
  color: #8a6d3b;
  font-size: .84rem;
}

.med-admin-table-wrap{
  overflow-x: auto;
}

.med-admin-table-wrap table{
  min-width: 42rem;
}

.med-admin-muted-box{
  padding: .75rem .85rem;
  border: 1px dashed rgba(13,110,253,.35);
  border-radius: .75rem;
  background: rgba(13,110,253,.05);
  color: rgba(0,0,0,.72);
}

.med-admin-sector-compact .form-label{
  margin-bottom: 0;
  font-size: .71rem;
  font-weight: 600;
  line-height: 1;
}

.med-admin-sector-compact{
  --bs-gutter-y: .1rem;
  --bs-gutter-x: .3rem;
}

.med-admin-sector-compact .form-control,
.med-admin-sector-compact .form-select{
  min-height: 1.65rem;
  padding-top: 0;
  padding-bottom: 0;
  font-size: .82rem;
}

.med-admin-color-field{
  position: relative;
  display: block;
}

.med-admin-color-field .form-control-color{
  width: 100%;
  min-width: 0;
}

.med-admin-color-hex{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: rgba(255, 255, 255, .96);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
  text-transform: uppercase;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.med-admin-sector-actions .btn{
  min-width: 2.2rem;
  height: 1.8rem;
  padding: .05rem .35rem;
}

.med-admin-sector-actions{
  align-self: flex-end;
}

.admin-sector-letter-field{
  max-width: 4.2rem;
}

.admin-sector-linked-btn{
  min-width: 2.35rem !important;
  justify-content: center;
}

.med-admin-armadi-detail th,
.med-admin-armadi-detail td{
  white-space: nowrap;
  vertical-align: middle;
}

.med-admin-armadi-detail td.is-empty{
  color: rgba(0,0,0,.3);
}

@media (max-width: 991.98px){
  .med-admin-row{
    flex-direction: column;
  }

  .med-admin-row-actions{
    width: 100%;
  }
}
