.has-app-dialog{overflow:hidden}
.app-dialog-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(14,38,28,.58);backdrop-filter:blur(5px);animation:app-dialog-fade .16s ease-out}
.app-dialog{width:min(100%,580px);overflow:hidden;border:1px solid rgba(174,143,57,.42);border-radius:18px;background:#fffdf8;box-shadow:0 30px 90px rgba(8,29,20,.34),0 2px 8px rgba(8,29,20,.16);animation:app-dialog-rise .18s ease-out}
.app-dialog-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:start;border-bottom:1px solid #e8e0cf;background:linear-gradient(135deg,#f8f5ec,#fffdf8);padding:21px 22px 18px}
.app-dialog-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;background:#e6f1ea;color:#164d38;font-size:1rem;font-weight:950}
.tone-warning .app-dialog-icon{background:#fbefc7;color:#7d5d08}.tone-danger .app-dialog-icon{background:#f9e4e0;color:#9a3126}.tone-success .app-dialog-icon{background:#e2f1e8;color:#176044}
.app-dialog-head small{display:block;margin:1px 0 3px;color:#967315;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.app-dialog-head h2{margin:0;color:#123f30;font-family:var(--serif,Georgia,serif);font-size:1.3rem;line-height:1.25}
.app-dialog-close{display:grid;width:34px;height:34px;place-items:center;border:1px solid #d8d1c2;border-radius:9px;background:#fff;color:#526058;font-size:1.25rem;line-height:1;cursor:pointer}.app-dialog-close:hover{border-color:#91ad9d;background:#f1f7f3;color:#123f30}
.app-dialog-body{padding:21px 22px 6px}.app-dialog-message{margin:0;color:#263b31;font-size:1rem;font-weight:750;line-height:1.55;white-space:pre-line}.app-dialog-detail{margin:12px 0 0;border-left:3px solid #c5a750;background:#f8f5ec;padding:10px 12px;color:#55615a;font-size:.85rem;line-height:1.55;white-space:pre-line}.app-dialog-hint{margin:10px 0 0;color:#69716c;font-size:.76rem;line-height:1.5}
.app-dialog-field{display:grid;gap:6px;margin-top:17px;color:#254334;font-size:.78rem;font-weight:850}.app-dialog-field input{width:100%;min-height:45px;border:1px solid #bfb6a4;border-radius:9px;background:#fff;padding:10px 11px;color:#263b31;font:inherit}.app-dialog-field input:focus{border-color:#1c664a;outline:3px solid rgba(28,102,74,.14)}
.app-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:18px 22px 22px}.app-dialog-actions .btn{min-width:112px;min-height:42px}.app-dialog-confirm.danger{border-color:#9f3529;background:#9f3529;color:#fff}.app-dialog-confirm.danger:hover{border-color:#7f261e;background:#7f261e}.app-dialog-confirm:disabled{cursor:not-allowed;opacity:.45}
@keyframes app-dialog-fade{from{opacity:0}to{opacity:1}}@keyframes app-dialog-rise{from{opacity:.65;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.app-dialog-overlay{align-items:end;padding:12px}.app-dialog{border-radius:18px 18px 12px 12px}.app-dialog-head{padding:18px 17px 15px}.app-dialog-body{padding:18px 17px 4px}.app-dialog-actions{display:grid;grid-template-columns:1fr 1fr;padding:16px 17px 18px}.app-dialog-actions .btn{width:100%}.app-dialog-actions .app-dialog-confirm:only-child{grid-column:1/-1}.app-dialog-message{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.app-dialog-overlay,.app-dialog{animation:none}}
