.sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;background:var(--surface);border-radius:var(--shape-xl) var(--shape-xl) 0 0;max-height:85dvh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;gap:12px;flex-shrink:0}.sheet-title{font-size:var(--font-size-17);font-weight:700;color:var(--text);margin:0}.sheet-close{background:var(--bg);border:none;border-radius:var(--shape-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-14);color:var(--muted);font-family:var(--font);flex-shrink:0}.sheet-close:hover{color:var(--text)}.sheet-body{flex:1;overflow-y:auto;padding:4px 20px 24px;scrollbar-width:thin}.sheet-enter-active,.sheet-leave-active{transition:opacity .2s ease}.sheet-enter-active .sheet,.sheet-leave-active .sheet{transition:transform .24s cubic-bezier(.22,1,.36,1)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .sheet,.sheet-leave-to .sheet{transform:translateY(100%)}
