/* =========================================================
   Batch 10.1 - Admin Action Category Polish
   ========================================================= */
.admin-action-shell{
  display:grid;
  gap:14px;
}
.admin-intro-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(15,35,66,.08);
  border-radius:24px;
  padding:18px;
  background:
    radial-gradient(circle at 100% 0%,rgba(184,135,45,.16),transparent 92px),
    linear-gradient(135deg,#ffffff 0%,#f7f9fc 100%);
  box-shadow:0 16px 38px rgba(16,24,40,.075);
}
.admin-intro-card:before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:4px;
  border-radius:0 99px 99px 0;
  background:linear-gradient(180deg,var(--gold),#7b5317);
}
.admin-intro-kicker{
  color:#8a5a12;
  font-size:10px;
  font-weight:950;
  letter-spacing:.14em;
}
.admin-intro-title{
  margin-top:5px;
  color:var(--navy);
  font-size:19px;
  font-weight:950;
  letter-spacing:-.35px;
}
.admin-intro-note{
  margin-top:5px;
  color:#667085;
  font-size:12px;
  line-height:1.45;
  font-weight:750;
}
.admin-action-group{
  border:1px solid rgba(209,216,228,.86);
  border-radius:26px;
  padding:14px;
  background:rgba(255,255,255,.70);
  box-shadow:0 14px 36px rgba(16,24,40,.06);
}
.admin-action-group + .admin-action-group{
  margin-top:2px;
}
.admin-group-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:2px 2px 12px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(226,232,240,.88);
}
.admin-group-title{
  color:var(--navy);
  font-size:16px;
  font-weight:950;
  letter-spacing:-.25px;
}
.admin-group-note{
  color:#667085;
  font-size:11.5px;
  line-height:1.38;
  font-weight:750;
  margin-top:3px;
}
.admin-group-badge{
  flex:0 0 auto;
  border-radius:999px;
  padding:6px 9px;
  background:linear-gradient(135deg,#0b2747,#123a63);
  color:#fff;
  font-size:9px;
  font-weight:950;
  letter-spacing:.05em;
  box-shadow:0 8px 18px rgba(11,39,71,.14);
}
.admin-group-badge.soft{
  background:linear-gradient(135deg,#fff6e5,#f3dfba);
  color:#7b5317;
  border:1px solid rgba(184,135,45,.26);
}
.admin-group-badge.disabled{
  background:#eef2f7;
  color:#667085;
  box-shadow:none;
}
.admin-actions-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.admin-actions-grid.single-action{
  grid-template-columns:1fr;
}
.admin-action-shell .action-btn{
  position:relative;
  min-height:104px;
  border-radius:22px;
  padding:15px 14px 14px;
  background:
    radial-gradient(circle at 100% 0%,rgba(15,35,66,.06),transparent 78px),
    linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
  border-color:rgba(209,216,228,.94);
  box-shadow:0 12px 28px rgba(16,24,40,.065);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.admin-action-shell .action-btn:before{
  display:block;
  width:34px;
  height:4px;
  margin:0 0 12px;
  background:linear-gradient(90deg,var(--gold),rgba(184,135,45,.18));
}
.admin-action-shell .action-btn span{
  color:#0b2747;
  font-size:14px;
  line-height:1.15;
  letter-spacing:-.18px;
}
.admin-action-shell .action-btn small{
  color:#667085;
  font-size:11px;
  line-height:1.35;
  margin-top:7px;
  font-weight:750;
}
.admin-action-shell .action-btn:active{
  transform:scale(.992);
}
.admin-action-shell .primary-action{
  border-color:rgba(184,135,45,.42)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(184,135,45,.14),transparent 82px),
    linear-gradient(180deg,#ffffff 0%,#fff8eb 100%)!important;
}
.admin-action-shell .action-card-debt:before{
  background:linear-gradient(90deg,#0b2747,rgba(11,39,71,.18));
}
.admin-action-shell .action-card-payment:before{
  background:linear-gradient(90deg,#12b76a,rgba(18,183,106,.18));
}
.disabled-action{
  opacity:.78;
}
.muted-group{
  background:rgba(248,250,252,.74);
}
@media(min-width:760px){
  .admin-action-shell .action-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 38px rgba(16,24,40,.09);
    border-color:rgba(184,135,45,.34);
  }
}
@media(max-width:480px){
  .admin-action-group{padding:12px;border-radius:24px;}
  .admin-actions-grid{grid-template-columns:1fr;gap:9px;}
  .admin-action-shell .action-btn{min-height:auto;padding:14px;}
  .admin-group-head{margin-bottom:9px;padding-bottom:10px;}
  .admin-intro-card{border-radius:23px;padding:17px 17px 17px 18px;}
}

/* =========================================================
   Batch 10.2 - Admin Action Floating Modal
   ========================================================= */
body.admin-modal-lock{
  overflow:hidden;
  touch-action:none;
}
.admin-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:18px 12px calc(18px + env(safe-area-inset-bottom));
  background:rgba(8,22,41,.54);
  backdrop-filter:blur(12px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.admin-modal-dialog{
  position:relative;
  width:min(100%,620px);
  margin:auto 0;
  animation:adminModalIn .18s ease-out;
}
.admin-modal-dialog-wide{
  width:min(100%,860px);
}
.admin-modal .form-card{
  border-radius:28px;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 28px 80px rgba(5,18,34,.28);
  max-height:calc(100vh - 36px - env(safe-area-inset-bottom));
  overflow:auto;
  padding:19px;
}
.admin-modal .form-head{
  padding-right:44px;
}
.admin-modal-close{
  position:absolute;
  z-index:3;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:1px solid rgba(203,213,225,.9);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  color:#0b2747;
  font-size:24px;
  line-height:1;
  font-weight:900;
  box-shadow:0 10px 24px rgba(16,24,40,.12);
}
.admin-modal-close:active{
  transform:scale(.96);
}
.admin-modal .form-save-btn{
  position:sticky;
  bottom:0;
  z-index:2;
  box-shadow:0 -10px 24px rgba(255,255,255,.88),0 12px 28px rgba(16,24,40,.14);
}
@keyframes adminModalIn{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:480px){
  .admin-modal{
    padding:10px 8px calc(10px + env(safe-area-inset-bottom));
    align-items:stretch;
  }
  .admin-modal-dialog{
    width:100%;
    margin:0;
  }
  .admin-modal .form-card{
    border-radius:24px;
    max-height:calc(100vh - 20px - env(safe-area-inset-bottom));
    padding:16px;
  }
  .admin-modal .form-head{
    padding-right:42px;
  }
  .admin-modal-close{
    top:11px;
    right:11px;
  }
}
