:root{--um-overlay-bg:rgba(0,0,0,.5);--um-modal-bg:#fff;--um-modal-radius:12px;--um-modal-shadow:0 20px 60px rgba(0,0,0,.3);--um-drawer-radius:20px;--um-header-bg:#fff;--um-header-border:#e5e7eb;--um-close-btn-bg:rgba(0,0,0,.05);--um-close-btn-hover-bg:rgba(0,0,0,.1);--um-handle-bg:#d1d5db;--um-transition-duration:0.3s;--um-z-index:10000}@-webkit-keyframes um-modal-in{0%{opacity:0;-webkit-transform:scale(.9) translateY(-20px);transform:scale(.9) translateY(-20px)}60%{-webkit-transform:scale(1.02) translateY(0);transform:scale(1.02) translateY(0)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes um-modal-in{0%{opacity:0;-webkit-transform:scale(.9) translateY(-20px);transform:scale(.9) translateY(-20px)}60%{-webkit-transform:scale(1.02) translateY(0);transform:scale(1.02) translateY(0)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes um-modal-out{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(.9) translateY(10px);transform:scale(.9) translateY(10px)}}@keyframes um-modal-out{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(.9) translateY(10px);transform:scale(.9) translateY(10px)}}@-webkit-keyframes um-drawer-in{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes um-drawer-in{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes um-drawer-out{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes um-drawer-out{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@-webkit-keyframes um-content-fade-in{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes um-content-fade-in{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes um-overlay-in{0%{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:1}}@keyframes um-overlay-in{0%{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:1}}@-webkit-keyframes um-handle-pulse{0%,to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}50%{opacity:.7;-webkit-transform:scaleX(1.1);transform:scaleX(1.1)}}@keyframes um-handle-pulse{0%,to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}50%{opacity:.7;-webkit-transform:scaleX(1.1);transform:scaleX(1.1)}}@-webkit-keyframes um-close-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@keyframes um-close-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.um-overlay{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:var(--um-overlay-bg);bottom:0;left:0;opacity:0;overflow-x:hidden;overflow-y:auto;position:fixed;right:0;top:0;transition:opacity .25s ease-out,visibility .25s ease-out;visibility:hidden;z-index:var(--um-z-index);-webkit-overflow-scrolling:touch;padding:20px 0}.um-overlay.active{-webkit-align-items:center;align-items:center;-webkit-animation:um-overlay-in .3s ease-out forwards;animation:um-overlay-in .3s ease-out forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;min-height:100%;opacity:1;visibility:visible}.um-modal{background:var(--um-modal-bg);border-radius:var(--um-modal-radius);box-shadow:var(--um-modal-shadow);display:none;margin:auto;max-height:none;opacity:0;overflow:hidden;position:relative;-webkit-transform:scale(.9);transform:scale(.9);width:90%;z-index:calc(var(--um-z-index) + 1)}.um-modal.active{-webkit-animation:um-modal-in .35s cubic-bezier(.34,1.56,.64,1) forwards;animation:um-modal-in .35s cubic-bezier(.34,1.56,.64,1) forwards;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}.um-modal.closing{-webkit-animation:um-modal-out .2s ease-in forwards;animation:um-modal-out .2s ease-in forwards}.um-modal.active .um-content{-webkit-animation:um-content-fade-in .3s ease-out .1s both;animation:um-content-fade-in .3s ease-out .1s both}.um-modal.active .um-header{-webkit-animation:um-content-fade-in .3s ease-out both;animation:um-content-fade-in .3s ease-out both}.um-modal.active .um-footer{-webkit-animation:um-content-fade-in .3s ease-out .15s both;animation:um-content-fade-in .3s ease-out .15s both}.um-drawer{background:var(--um-modal-bg);border-radius:var(--um-drawer-radius) var(--um-drawer-radius) 0 0;bottom:0;box-shadow:0 -10px 40px rgba(0,0,0,.15);display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;left:0;overflow:hidden;pointer-events:none;position:fixed;right:0;-webkit-transform:translateY(100%);transform:translateY(100%);visibility:hidden;z-index:calc(var(--um-z-index) + 1)}.um-drawer.active{-webkit-animation:um-drawer-in .4s cubic-bezier(.32,.72,0,1) forwards;animation:um-drawer-in .4s cubic-bezier(.32,.72,0,1) forwards;pointer-events:auto;visibility:visible}.um-drawer.closing{-webkit-animation:um-drawer-out .25s ease-in forwards;animation:um-drawer-out .25s ease-in forwards}.um-drawer.dragging{-webkit-animation:none!important;animation:none!important;transition:none!important}.um-drawer.active .um-content{-webkit-animation:um-content-fade-in .35s ease-out .15s both;animation:um-content-fade-in .35s ease-out .15s both}.um-drawer.active .um-header{-webkit-animation:um-content-fade-in .35s ease-out .1s both;animation:um-content-fade-in .35s ease-out .1s both}.um-drawer.active .um-footer{-webkit-animation:um-content-fade-in .35s ease-out .2s both;animation:um-content-fade-in .35s ease-out .2s both}.um-drawer-handle{background:var(--um-handle-bg);border-radius:3px;cursor:-webkit-grab;cursor:grab;-webkit-flex-shrink:0;flex-shrink:0;height:5px;margin:12px auto 8px;transition:background .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,background .2s ease;transition:transform .2s ease,background .2s ease,-webkit-transform .2s ease;width:40px}.um-drawer-handle:hover{background:#9ca3af;-webkit-transform:scaleX(1.2);transform:scaleX(1.2)}.um-drawer-handle:active{background:#6b7280;cursor:-webkit-grabbing;cursor:grabbing;-webkit-transform:scaleX(1.3);transform:scaleX(1.3)}.um-drawer.active .um-drawer-handle{-webkit-animation:um-handle-pulse 2s ease-in-out .5s 2;animation:um-handle-pulse 2s ease-in-out .5s 2}.um-header{-webkit-align-items:center;align-items:center;background:var(--um-header-bg);border-bottom:1px solid var(--um-header-border);display:-webkit-flex;display:flex;-webkit-flex-shrink:0;flex-shrink:0;-webkit-justify-content:space-between;justify-content:space-between;padding:16px 20px}.um-header-title{color:#111827;-webkit-flex:1;flex:1;font-size:18px;font-weight:600;margin:0;padding-right:40px}.um-header.no-title{border-bottom:none;-webkit-justify-content:flex-end;justify-content:flex-end;padding:12px 16px}.um-close-btn{-webkit-align-items:center;align-items:center;background:var(--um-close-btn-bg);border:none;border-radius:50%;cursor:pointer;display:-webkit-flex;display:flex;height:36px;-webkit-justify-content:center;justify-content:center;padding:0;position:absolute;right:12px;top:12px;transition:background .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;transition:background .2s ease,transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;width:36px;z-index:10}.um-close-btn:hover{background:var(--um-close-btn-hover-bg);box-shadow:0 2px 8px rgba(0,0,0,.1);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.um-close-btn:active{-webkit-transform:rotate(90deg) scale(.9);transform:rotate(90deg) scale(.9)}.um-close-btn svg{color:#6b7280;height:18px;transition:color .2s ease;width:18px}.um-close-btn:hover svg{color:#374151}.um-content{-webkit-flex:1;flex:1;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}.um-footer{-webkit-align-items:center;align-items:center;background:var(--um-header-bg);border-top:1px solid var(--um-header-border);display:-webkit-flex;display:flex;-webkit-flex-shrink:0;flex-shrink:0;gap:12px;-webkit-justify-content:flex-end;justify-content:flex-end;padding:16px 20px}.um-footer button{transition:box-shadow .15s ease,-webkit-transform .15s ease;transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease,-webkit-transform .15s ease}.um-footer button:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.um-footer button:active{-webkit-transform:translateY(0) scale(.98);transform:translateY(0) scale(.98)}@media (pointer:coarse){.um-modal{display:none!important}.um-drawer.active{display:-webkit-flex!important;display:flex!important}.um-header-title{font-size:16px}.um-content{padding:16px 0}.um-footer{padding:12px 16px}}@media (max-width:767px){.um-modal{display:none!important}.um-drawer.active{display:-webkit-flex!important;display:flex!important}.um-header-title{font-size:16px}.um-footer{padding:12px 16px}.um-drawer{display:none!important}.um-modal.active{display:-webkit-flex!important;display:flex!important}}.um-content::-webkit-scrollbar{width:6px}.um-content::-webkit-scrollbar-track{background:transparent}.um-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px;-webkit-transition:background .2s ease;transition:background .2s ease}.um-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.um-drawer,.um-modal{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.um-close-btn,.um-content,.um-drawer,.um-drawer-handle,.um-footer,.um-header,.um-modal,.um-overlay{-webkit-animation:none!important;animation:none!important;transition-duration:.01ms!important}}body.um-open{overflow:hidden;position:fixed;width:100%}