@layer properties,theme,base;@layer components{.app-dialog-overlay{--app-dialog-viewport-height:100vh;--app-dialog-viewport-top:0px;--app-dialog-gutter:16px;inset:var(--app-dialog-viewport-top) 0 auto;height:var(--app-dialog-viewport-height);z-index:70;padding:max(16px, var(--app-safe-top,0px)) max(16px, var(--app-safe-right,0px)) max(16px, var(--app-safe-bottom,0px)) max(16px, var(--app-safe-left,0px));justify-content:center;align-items:center;display:flex;position:fixed}@supports (height:100dvh){.app-dialog-overlay{--app-dialog-viewport-height:100dvh}}.app-dialog-overlay--sheet{padding:max(16px, var(--app-safe-top,0px)) 0 0;align-items:flex-end}.app-dialog-backdrop{backdrop-filter:blur(4px);background:rgba(0,0,0,.6);position:absolute;top:0;bottom:0;left:0;right:0}.app-dialog{width:100%;min-width:0;max-height:min(calc(var(--app-dialog-viewport-height) * .88), 760px, calc(var(--app-dialog-viewport-height) - max(16px, var(--app-safe-top,0px)) - max(16px, var(--app-safe-bottom,0px))));border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);border-radius:20px;outline:none;flex-direction:column;animation:.18s ease-out app-dialog-enter;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.45)}.app-dialog--sm{max-width:400px}.app-dialog--md{max-width:512px}.app-dialog--lg{max-width:640px}.app-dialog--sheet{border-radius:20px 20px 0 0}.app-dialog-header{padding:14px max(var(--app-dialog-gutter), var(--app-safe-right,0px)) 14px max(var(--app-dialog-gutter), var(--app-safe-left,0px));border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;display:flex}.app-dialog-title{overflow-wrap:anywhere;flex:1;min-width:0;font-size:16px;font-weight:600;line-height:1.5}.app-dialog-close{width:44px;height:44px;color:var(--text-muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex}.app-dialog-close:hover{background:var(--bg-surface);color:var(--text-primary)}.app-dialog-close:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.app-dialog-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-width:0;min-height:0;padding:16px max(var(--app-dialog-gutter), var(--app-safe-right,0px)) 16px max(var(--app-dialog-gutter), var(--app-safe-left,0px));scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:auto;overflow-x:hidden;overflow-y:auto}.app-dialog-body--last{padding-bottom:max(16px, var(--app-safe-bottom,0px))}.app-dialog-footer{padding:14px max(var(--app-dialog-gutter), var(--app-safe-right,0px)) max(14px, var(--app-safe-bottom,0px)) max(var(--app-dialog-gutter), var(--app-safe-left,0px));border-top:1px solid var(--border-subtle);background:var(--bg-elevated);flex-shrink:0}.app-dialog-handle{touch-action:none;flex-shrink:0;justify-content:center;padding:10px 0 2px;display:flex}.app-dialog-handle span{background:var(--border-strong);border-radius:4px;width:40px;height:4px}@media (min-width:640px){.app-dialog-overlay{--app-dialog-gutter:24px}.app-dialog-header{padding-top:16px;padding-bottom:16px}.app-dialog-title{font-size:18px}.app-dialog-body{padding-top:20px;padding-bottom:20px}.app-dialog-body--last{padding-bottom:max(20px, var(--app-safe-bottom,0px))}.app-dialog-footer{padding-block:16px max(16px, var(--app-safe-bottom,0px))}}@media (prefers-reduced-motion:reduce){.app-dialog{animation:none}}@media (max-width:1023px){.app-dialog :-webkit-any(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:16px!important}.app-dialog :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:16px!important}}.app-dialog.app-popup--sheet{border-left-width:0;border-right-width:0;border-bottom-width:0;width:100%;max-width:none}.app-popup-overlay{--popup-enter-duration:.28s;--popup-exit-duration:.2s;--popup-enter-easing:cubic-bezier(.22, 1, .36, 1);--popup-exit-easing:cubic-bezier(.4, 0, 1, 1)}.app-popup-overlay[data-state=open] .app-dialog-backdrop{animation:popup-backdrop-enter var(--popup-enter-duration) ease-out both}.app-popup-overlay[data-state=closed] .app-dialog-backdrop{animation:popup-backdrop-exit var(--popup-exit-duration) ease-in both}.app-popup-overlay[data-state=open] .app-popup--center{animation:popup-center-enter var(--popup-enter-duration) var(--popup-enter-easing) both}.app-popup-overlay[data-state=closed] .app-popup--center{animation:popup-center-exit var(--popup-exit-duration) var(--popup-exit-easing) both}.app-popup-overlay[data-state=open] .app-popup--sheet{animation:popup-sheet-enter var(--popup-enter-duration) var(--popup-enter-easing) both}.app-popup-overlay[data-state=closed] .app-popup--sheet{animation:popup-sheet-exit var(--popup-exit-duration) var(--popup-exit-easing) both}.app-popup-overlay[data-state=closed] .app-popup{pointer-events:none}@media (prefers-reduced-motion:reduce){.app-popup-overlay[data-state] .app-dialog.app-popup,.app-popup-overlay[data-state] .app-dialog-backdrop{animation:none}}}@layer utilities;@keyframes app-dialog-enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes popup-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes popup-backdrop-exit{0%{opacity:1}to{opacity:0}}@keyframes popup-center-enter{0%{opacity:0;translate:0 12px;scale:.96}to{opacity:1;translate:0;scale:1}}@keyframes popup-center-exit{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:0 8px;scale:.97}}@keyframes popup-sheet-enter{0%{translate:0 100%}to{translate:0}}@keyframes popup-sheet-exit{0%{translate:0}to{translate:0 100%}}
