/* DokuFin v0.37 shared dialogs - app, Super Admin and public landing.
   Native dialog top layer ensures correct stacking above existing document/email modals. */
.df-dialog{
  position:fixed;inset:0;margin:auto;
  display:none;box-sizing:border-box;
  width:min(100% - 28px,510px);
  max-height:min(92dvh,730px);
  padding:0;border:1px solid #e1d7f0;
  border-radius:22px;
  overflow:auto;overscroll-behavior:contain;
  background:#fff;color:#302441;
  font-family:inherit;font-weight:400;
  line-height:1.55;
  box-shadow:0 30px 100px rgba(24,14,50,.3);
}
.df-dialog[open]{
  display:block;
  animation:df-dialog-enter .16s ease-out both;
}
.df-dialog::backdrop{
  background:rgba(19,14,37,.64);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.df-dialog *{box-sizing:border-box}
.df-dialog-top{
  display:flex;align-items:flex-start;
  gap:16px;padding:27px 27px 18px;
}
.df-dialog-mark{
  display:grid;place-items:center;
  flex:none;width:49px;height:49px;border-radius:15px;
  background:#efe8fc;color:#704dc2;
  font-size:23px;font-weight:850;
}
.df-dialog-warning .df-dialog-mark{
  background:#fff0dc;color:#b4771f;
}
.df-dialog-danger .df-dialog-mark{
  background:#fff0ee;color:#bb4443;
}
.df-dialog-success .df-dialog-mark{
  background:#eaeafc;color:#6252b9;
}
.df-dialog-heading{flex:1;min-width:0}
.df-dialog-eyebrow{
  display:block;margin:1px 0 6px;color:#8a69c4;
  font-size:10.5px;line-height:1.35;
  font-weight:850;letter-spacing:1.25px;
}
.df-dialog-warning .df-dialog-eyebrow{color:#a8752d}
.df-dialog-danger .df-dialog-eyebrow{color:#bb4849}
.df-dialog-title{
  margin:0;color:#2f2440;
  font-size:clamp(19px,2.3vw,23px);
  line-height:1.27;letter-spacing:-.55px;
  font-weight:830;overflow-wrap:anywhere;
}
.df-dialog-subtitle{
  margin:7px 0 0;color:#887b94;
  font-size:12.5px;line-height:1.58;
}
.df-dialog-x{
  flex:none;display:grid;place-items:center;
  width:35px;height:35px;border-radius:10px;
  border:1px solid #e9e1ef;background:#fff;color:#847492;
  font-family:inherit;font-size:22px;line-height:1;cursor:pointer;
}
.df-dialog-x:hover{background:#f6f2fc;color:#4c3b66}
.df-dialog-body{
  padding:0 27px 22px;color:#61546e;
  font-size:14px;line-height:1.73;
}
.df-dialog-message{
  margin:0;white-space:pre-line;
  overflow-wrap:anywhere;
}
.df-dialog-detail{
  margin:14px 0 0;padding:14px 16px;
  border-radius:12px;border:1px solid #e9e1f1;
  background:#f9f6fe;color:#4e4262;
  font-size:13px;line-height:1.65;
  white-space:pre-line;overflow-wrap:anywhere;
}
.df-dialog-note{
  margin:14px 0 0;color:#887991;
  font-size:12.5px;line-height:1.62;
}
.df-dialog-input-wrap{display:grid;gap:8px;margin-top:18px}
.df-dialog-input-label{
  font-size:12.5px;color:#493758;font-weight:770;
}
.df-dialog-input{
  font-family:inherit;width:100%;min-height:49px;
  border:1px solid #d8cde9;border-radius:11px;
  padding:12px 14px;background:#fefcff;
  color:#392b51;font-size:16px;outline:0;
}
.df-dialog-input:focus{border-color:#9873dc;box-shadow:0 0 0 3px #efe7ff}
.df-dialog-actions{
  display:flex;justify-content:flex-end;gap:11px;
  padding:17px 27px 24px;
  border-top:1px solid #f0ebf5;
  background:#fdfcff;
}
.df-dialog-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:12px 18px;
  border-radius:12px;font-family:inherit;
  font-size:13.5px;font-weight:800;line-height:1.35;
  cursor:pointer;transition:background-color .15s,box-shadow .15s;
}
.df-dialog-btn-secondary{
  border:1px solid #dfd5ed;background:#fff;color:#665877;
}
.df-dialog-btn-secondary:hover{background:#f3eefc}
.df-dialog-btn-primary{
  border:1px solid #7654cb;background:#7654cb;color:#fff;
}
.df-dialog-btn-primary:hover{background:#6441b5;box-shadow:0 7px 16px rgba(103,71,188,.2)}
.df-dialog-btn-danger{
  border:1px solid #c64349;background:#c64349;color:#fff;
}
.df-dialog-btn-danger:hover{background:#aa313a;box-shadow:0 7px 16px rgba(190,67,73,.2)}
.df-dialog button:focus-visible{
  outline:3px solid #ad8adf;outline-offset:3px;
}
@keyframes df-dialog-enter{
  from{opacity:0;transform:translateY(10px) scale(.988)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:520px){
  .df-dialog{width:calc(100% - 22px);border-radius:17px;max-height:calc(100dvh - 24px)}
  .df-dialog-top{gap:11px;padding:20px 18px 14px}
  .df-dialog-mark{height:41px;width:41px;border-radius:12px;font-size:21px}
  .df-dialog-title{font-size:19px}
  .df-dialog-x{width:34px;height:34px}
  .df-dialog-body{padding:0 18px 19px;font-size:13.5px}
  .df-dialog-actions{padding:14px 18px 18px;gap:9px}
  .df-dialog-btn{flex:1;padding:12px 10px;font-size:13px;min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .df-dialog[open]{animation:none}
  .df-dialog-btn{transition:none}
}
