/*
 * AMNKO Unified Modal System
 * R16.9.10.46.24.4 — transactional popups and legacy inline-form cleanup.
 *
 * One Odoo-inspired modal language for short forms, confirmations, record
 * details and quick operational actions. Business logic remains server-side.
 */

:root{
  --amk-modal-radius:20px;
  --amk-modal-header-bg:var(--amk-gradient-primary-accent);
  --amk-modal-header-color:#fff;
  --amk-modal-body-bg:var(--amk-color-surface);
  --amk-modal-footer-bg:var(--amk-color-surface-soft);
  --amk-modal-border:rgba(15,23,42,.09);
  --amk-modal-shadow:0 28px 80px rgba(15,23,42,.24);
  --amk-modal-backdrop:rgba(15,23,42,.56);
}

.modal-backdrop.show{opacity:1;background:var(--amk-modal-backdrop);backdrop-filter:blur(2px);}

.modal.amnko-modal{--bs-modal-zindex:2055;}
.modal.amnko-modal .modal-dialog{margin-block:1rem;}
.modal.amnko-modal .modal-content,
.amnko-modal__content{
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:var(--amk-modal-radius)!important;
  overflow:hidden;
  background:var(--amk-modal-body-bg);
  color:var(--amk-color-text);
  box-shadow:var(--amk-modal-shadow)!important;
}

.modal.amnko-modal .modal-header,
.amnko-modal__header{
  min-height:64px;
  padding:1rem 1.25rem;
  border:0;
  background:var(--amk-modal-header-bg)!important;
  color:var(--amk-modal-header-color)!important;
  display:flex;
  align-items:center;
  gap:.75rem;
}

.modal.amnko-modal .modal-title,
.amnko-modal__title{
  margin:0;
  color:inherit!important;
  font-size:1.08rem;
  font-weight:900;
  line-height:1.45;
}

.modal.amnko-modal .modal-header .btn-close,
.amnko-modal__close{
  width:38px;
  height:38px;
  min-width:38px;
  margin:0 auto 0 0!important;
  padding:0;
  border:1px solid rgba(255,255,255,.2);
  border-radius:11px;
  background-color:rgba(255,255,255,.12);
  background-size:13px;
  opacity:1;
  box-shadow:none!important;
  transition:background-color .15s ease,border-color .15s ease,transform .15s ease;
}
.modal.amnko-modal .modal-header .btn-close:hover,
.amnko-modal__close:hover{background-color:rgba(255,255,255,.22);border-color:rgba(255,255,255,.34);transform:translateY(-1px);}
.modal.amnko-modal .modal-header .btn-close:focus-visible,
.amnko-modal__close:focus-visible{outline:3px solid rgba(255,255,255,.42);outline-offset:2px;}

.modal.amnko-modal .modal-body,
.amnko-modal__body{padding:1.25rem;background:var(--amk-modal-body-bg);}
.modal.amnko-modal .modal-body > :last-child,
.amnko-modal__body > :last-child{margin-bottom:0!important;}

.modal.amnko-modal .modal-footer,
.amnko-modal__footer{
  min-height:68px;
  padding:.9rem 1.25rem;
  border-top:1px solid var(--amk-modal-border);
  background:var(--amk-modal-footer-bg)!important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.65rem;
  flex-wrap:wrap;
}
.modal.amnko-modal .modal-footer .btn,
.amnko-modal__footer .btn{min-width:112px;}

.modal.amnko-modal .form-label{margin-bottom:.38rem;color:var(--amk-color-muted);font-size:.84rem;font-weight:800;}
.modal.amnko-modal .form-control,
.modal.amnko-modal .form-select,
.modal.amnko-modal .input-group-text{
  min-height:44px;
  border-color:var(--amk-color-border);
  border-radius:11px;
  background:var(--amk-color-surface-soft);
  box-shadow:none;
}
.modal.amnko-modal .form-control:focus,
.modal.amnko-modal .form-select:focus{
  border-color:rgba(0,168,200,.72);
  background:#fff;
  box-shadow:0 0 0 .22rem rgba(0,168,200,.12);
}
.modal.amnko-modal .form-text{color:var(--amk-color-muted);font-size:.79rem;line-height:1.65;}
.modal.amnko-modal .form-check{padding:.8rem 1rem;border:1px solid var(--amk-color-border);border-radius:12px;background:var(--amk-color-surface-soft);}
.modal.amnko-modal .form-check-input{cursor:pointer;}

.modal.amnko-modal .amnko-modal-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin-bottom:1rem;
}
.modal.amnko-modal .amnko-modal-summary__item{
  padding:.75rem .85rem;
  border:1px solid var(--amk-color-border);
  border-radius:12px;
  background:var(--amk-color-surface-soft);
}
.modal.amnko-modal .amnko-modal-summary__label{display:block;color:var(--amk-color-muted);font-size:.74rem;font-weight:800;margin-bottom:.2rem;}
.modal.amnko-modal .amnko-modal-summary__value{display:block;color:var(--amk-color-heading);font-weight:900;word-break:break-word;}

.modal.amnko-modal .amnko-modal-loading{
  position:absolute;
  inset:0;
  z-index:4;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(1px);
}
.modal.amnko-modal.is-submitting .amnko-modal-loading{display:flex;}
.modal.amnko-modal.is-submitting .modal-footer .btn[type="submit"]{pointer-events:none;opacity:.72;}

.amnko-transaction-page .amnko-transaction-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.amnko-transaction-page .amnko-transaction-summary{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.amnko-transaction-page .amnko-transaction-list-card{overflow:hidden;}
.amnko-transaction-page .amnko-transaction-list-head{padding:1rem 1.1rem;border-bottom:1px solid var(--amk-color-border);background:#fff;}

.amnko-modal-lookup-results{z-index:2075!important;}

@media (max-width:767.98px){
  .modal.amnko-modal .modal-dialog:not(.modal-dialog-scrollable){margin:0;min-height:100%;}
  .modal.amnko-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content{min-height:100vh;border-radius:0!important;border:0!important;}
  .modal.amnko-modal .modal-dialog-scrollable{height:calc(100% - 1rem);margin:.5rem;}
  .modal.amnko-modal .modal-dialog-scrollable .modal-content{max-height:100%;border-radius:16px!important;}
  .modal.amnko-modal .modal-header{position:sticky;top:0;z-index:3;}
  .modal.amnko-modal .modal-footer{position:sticky;bottom:0;z-index:3;padding-bottom:calc(.9rem + env(safe-area-inset-bottom,0px));}
  .modal.amnko-modal .modal-footer .btn{flex:1 1 calc(50% - .4rem);min-height:44px;min-width:0;}
  .modal.amnko-modal .amnko-modal-summary{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){
  .modal.amnko-modal .modal-header .btn-close{transition:none;}
}

/* Canonical short-form grid used by transaction and master-data popups. */
.modal.amnko-modal .amnko-modal-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.modal.amnko-modal .amnko-modal-field--full{grid-column:1 / -1;}
.modal.amnko-modal .amnko-modal-subtitle{margin-top:.15rem;color:rgba(255,255,255,.82);font-size:.78rem;line-height:1.5;}
@media (max-width:575.98px){
  .modal.amnko-modal .amnko-modal-form-grid{grid-template-columns:1fr;}
  .modal.amnko-modal .amnko-modal-field--full{grid-column:auto;}
}
