/* Canonical modal polish — compact dual-theme overrides */
.kp-modal-backdrop{
  background: rgba(12,10,9,.64);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

[data-theme="light"] .kp-modal-backdrop{
  background: rgba(66,39,23,.18);
}

[data-theme="dark"] .kp-modal-backdrop{
  background: rgba(10,8,7,.70);
}

.kp-modal{
  width: min(92vw, 560px);
  max-height: min(88vh, 760px);
  border-radius: 24px;
  border: 1px solid var(--k-border-default);
  box-shadow: 0 28px 68px rgba(0,0,0,.28);
}

[data-theme="light"] .kp-modal{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,242,236,.98));
  border-color: rgba(155,102,72,.14);
  box-shadow: 0 26px 62px rgba(74,46,31,.14);
}

[data-theme="dark"] .kp-modal{
  background: linear-gradient(180deg, rgba(30,24,21,.96), rgba(22,18,16,.98));
  border-color: rgba(255,235,210,.10);
}

.kp-modal__head,
.kp-modal__footer{
  padding: 16px 18px;
}

.kp-modal__head{
  background: color-mix(in srgb, var(--k-bg-card) 86%, transparent);
}

.kp-modal__title{
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  line-height: 1.15;
}

.kp-modal__body{
  padding: 16px 18px 18px;
  max-height: calc(min(88vh, 760px) - 132px);
}

.kp-modal__close{
  width: 36px;
  height: 36px;
  border: 1px solid transparent;
  background: color-mix(in srgb, var(--k-bg-elevated) 80%, transparent);
}

.kp-modal__close:hover{
  border-color: var(--k-border-default);
}

.kp-modal__footer{
  gap: 10px;
  flex-wrap: wrap;
}

.kp-modal__footer > *{
  min-height: 42px;
}

@media (max-width: 640px){
  .kp-modal{
    width: min(96vw, 540px);
    border-radius: 20px;
  }

  .kp-modal__head,
  .kp-modal__body,
  .kp-modal__footer{
    padding-left: 14px;
    padding-right: 14px;
  }
}
