.ui-overlay{z-index:var(--z-modal);background:var(--color-bg-overlay);animation:ui-fade-in var(--duration-normal) var(--ease-standard);display:grid;position:fixed;inset:0}.ui-overlay--modal{padding:var(--space-4);place-items:center;overflow-y:auto}.ui-overlay--drawer{z-index:var(--z-drawer)}.ui-modal,.ui-drawer{background:var(--color-bg-surface);min-width:0;color:var(--color-text-primary);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.ui-modal:focus,.ui-drawer:focus{outline:none}.ui-modal{width:100%;max-height:calc(100dvh - 2 * var(--space-4));border-radius:var(--radius-lg);animation:ui-rise-in var(--duration-slow) var(--ease-standard)}.ui-modal--sm{max-width:26rem}.ui-modal--md{max-width:36rem}.ui-modal--lg{max-width:52rem}.ui-drawer{width:min(22rem,88vw);animation:ui-slide-in-left var(--duration-slow) var(--ease-standard);position:fixed;top:0;bottom:0}.ui-drawer--left{left:0}.ui-drawer--right{animation-name:ui-slide-in-right;right:0}.ui-dialog__header{gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border-default);justify-content:space-between;align-items:flex-start;display:flex}.ui-dialog__heading{gap:var(--space-1);min-width:0;padding-top:var(--space-2);display:grid}.ui-dialog__title{font-size:var(--text-lg);margin:0}.ui-dialog__description{color:var(--color-text-secondary);margin:0}.ui-dialog__body{min-height:0;padding:var(--space-5);overscroll-behavior:contain;flex:1;overflow-y:auto}.ui-drawer .ui-dialog__body{padding:var(--space-3)}.ui-dialog__footer{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-default);flex-wrap:wrap-reverse;justify-content:flex-end;display:flex}.ui-dialog__footer .ui-button{white-space:normal;text-align:center;max-width:100%}.ui-drawer--inverse{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.ui-drawer--inverse .ui-dialog__header{border-bottom-color:var(--color-border-inverse)}.ui-drawer--inverse .ui-dialog__title,.ui-drawer--inverse .ui-button--ghost{color:var(--color-text-inverse)}.ui-drawer--inverse .ui-button--ghost:hover{background:var(--color-bg-inverse-hover)}.ui-drawer--inverse :focus-visible{outline:var(--focus-ring-inverse)}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes ui-slide-in-left{0%{transform:translate(-100%)}}@keyframes ui-slide-in-right{0%{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.ui-overlay,.ui-modal,.ui-drawer{animation:none}}
