.app-modal-overlay{position:fixed;inset:0;z-index:var(--z-dialog-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow-y:auto;overscroll-behavior:contain}.app-modal{position:relative;z-index:var(--z-dialog-content);display:flex;flex-direction:column;min-height:0;width:100%;max-width:32rem;max-height:calc(100vh - var(--space-8));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card-bg);box-shadow:var(--shadow-xl);outline:none}.app-modal--wide .app-modal{max-width:46rem}.app-modal>*{min-width:0}.app-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-shrink:0;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);background:var(--bg-surface)}.app-modal-title{margin:0;min-width:0;font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--text-main)}.app-modal-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:-.25rem -.25rem 0 0;border:0;border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);font-size:1.375rem;line-height:1;cursor:pointer}.app-modal-close:hover{background:var(--bg-surface);color:var(--text-main)}.app-modal-body{padding:var(--space-5);overflow-y:auto;min-height:0}.app-modal-handle{position:relative;flex-shrink:0;align-self:center;width:2.25rem;height:4px;margin:var(--space-2-5) 0 var(--space-1);border-radius:var(--radius-full);background:var(--border-strong, var(--border))}.app-confirm-modal .app-modal{max-width:24rem}.app-confirm-text{margin:0;color:var(--text-muted);font-size:.9375rem;line-height:1.55;white-space:pre-line}.app-confirm-actions,.modal-flow-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.modal-flow-root{min-width:0}.modal-flow-detail{display:grid;gap:var(--space-4);min-width:0}.modal-flow-detail--danger{border-left:3px solid var(--color-danger);padding-left:var(--space-4)}.modal-flow-confirm-text{margin:0;color:var(--text-muted);font-size:.9375rem;line-height:1.55;white-space:pre-line}.modal-flow-detail p{margin:0;color:var(--text-muted);font-size:.9375rem;line-height:1.55}.modal-flow-title-crumb{display:flex;align-items:center;gap:var(--space-1-5);min-width:0;color:var(--text-muted);font-size:.875rem;font-weight:500}.modal-flow-title-back{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0;padding:.2rem .25rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--primary);font:inherit;font-weight:600;cursor:pointer}.modal-flow-title-back:hover,.modal-flow-title-back:focus-visible{background:var(--bg-surface);outline:none}.modal-flow-title-current{min-width:0;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:no-preference){.app-modal-overlay{animation:app-modal-fade .14s ease-out}.app-modal{animation:app-modal-rise .18s cubic-bezier(.22,1,.36,1)}.modal-flow-root--restored{animation:modal-flow-root-restore .2s cubic-bezier(.22,1,.36,1)}}@keyframes modal-flow-root-restore{0%{opacity:.4;transform:translate(-.5rem)}to{opacity:1;transform:translate(0)}}@keyframes app-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes app-modal-rise{0%{opacity:0;transform:translateY(.75rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:767px){.app-modal--sheet{align-items:flex-end;padding:0}.app-modal--sheet .app-modal{width:100%;max-width:none;max-height:92vh;border-bottom:0;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-reduced-motion:no-preference){.app-modal--sheet .app-modal{animation:app-modal-sheet-in .22s cubic-bezier(.22,1,.36,1)}}.app-modal--sheet .app-modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app-modal--fullscreen{padding:0}.app-modal--fullscreen .app-modal{width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.app-modal--fullscreen .app-modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app-modal{max-height:calc(100vh - var(--space-12))}.app-confirm-actions,.modal-flow-actions{justify-content:flex-start;width:100%}}@keyframes app-modal-sheet-in{0%{opacity:.4;transform:translateY(100%)}to{opacity:1;transform:translateY(var(--sheet-rest-offset, 0px))}}
