/* Scoped application dialogs and inline form validation. */
.app-confirm{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:30px;border:1px solid #d9e2d3;border-radius:22px;background:#fffef9;box-shadow:0 24px 100px #102e345c;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
.app-confirm::backdrop,#scan-dialog::backdrop{background:#102b266e;backdrop-filter:blur(3px)}
.app-confirm .confirm-close{position:absolute;top:13px;right:13px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#607166;font-size:27px;font-weight:400}
.app-confirm .confirm-close:hover{background:#e9eee4;color:var(--forest)}
.confirm-symbol{display:grid;place-items:center;width:58px;height:58px;border:1px solid #d6e2cf;border-radius:17px;background:#eaf0e3;color:var(--forest);font-size:28px;font-weight:600;margin:0 0 22px}
.app-confirm[data-tone="danger"] .confirm-symbol{background:#f9e8e0;border-color:#f0d3c6;color:#923824}
.app-confirm[data-tone="warning"] .confirm-symbol{background:#f5edcf;border-color:#e8dcad;color:#84652a}
.confirm-eyebrow{display:block;font-size:10px;letter-spacing:1.5px;font-weight:700;color:#72816e;margin-bottom:8px}
.app-confirm h2{font-size:25px;line-height:1.2;letter-spacing:-.6px;margin:0 0 14px;padding-right:8px}
.app-confirm p{font-size:15px;color:#58695d;line-height:1.65;margin:0 0 25px;white-space:pre-line}
.confirm-actions{display:flex;flex-direction:column-reverse;gap:9px;align-items:stretch}
.confirm-actions button{min-height:48px;width:100%;padding:12px 16px;white-space:normal;text-align:center}
.app-confirm[data-tone="danger"] #confirm-yes{background:#963f2d;color:white}
.app-confirm[data-tone="danger"] #confirm-yes:hover{background:#7c3325}
.app-confirm[data-tone="warning"] #confirm-yes{background:#8a692c;color:white}
.app-confirm[data-tone="warning"] #confirm-yes:hover{background:#705422}
body.modal-open{overflow:hidden;overscroll-behavior:none}
.field-error{display:block;margin:6px 0 0;color:#963f2d;font-size:13px;line-height:1.45;font-weight:500}
[aria-invalid="true"]{border-color:#ac4934!important;background:#fffaf7!important;box-shadow:0 0 0 1px #ac49341a}
.form-error .button{margin-top:12px;font-size:13px}
.full-backup-status{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:14px;background:#f6f8ef;min-width:0}
.full-backup-status p:last-child{margin-bottom:0}
@media(min-width:500px){.confirm-actions{flex-direction:row;justify-content:flex-end}.confirm-actions button{width:auto;flex:1}}
@media(max-width:360px){.app-confirm{width:calc(100vw - 24px);padding:24px 20px;border-radius:18px}.app-confirm h2{font-size:23px}.app-confirm p{font-size:14px}.confirm-symbol{width:50px;height:50px;margin-bottom:19px}.app-confirm .confirm-close{right:7px;top:7px}}
@media(prefers-reduced-motion:no-preference){.app-confirm[open]{animation:dialog-arrive .16s ease-out}@keyframes dialog-arrive{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}}
