.base-modal-backdrop{background:rgba(0,0,0,.85);z-index:10099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.base-modal-backdrop,.base-modal-container{position:fixed;top:0;left:0;right:0;bottom:0}.base-modal-container{display:flex;align-items:center;justify-content:center;z-index:10100;padding:20px;pointer-events:none;overflow-y:auto}.base-modal-scroll-container{pointer-events:auto;width:100%;max-width:1000px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);margin:auto}.base-modal-header{text-align:center;padding:20px 16px 16px;position:sticky;top:0;z-index:10;flex-shrink:0;background:inherit;border-bottom:1px solid rgba(59,130,246,.1)}.base-modal-close{position:absolute;top:8px;right:8px;background:#f87171;color:white;border:none;border-radius:50%;width:32px;height:32px;min-width:32px;min-height:32px;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:20;transition:all .2s ease;flex-shrink:0}.base-modal-close:hover{background:#dc2626;transform:scale(1.1)}.base-modal-title{font-size:1.75rem;font-weight:700;color:#3375d8;margin:0 0 8px}.base-modal-subtitle,.base-modal-title{padding-right:40px;word-wrap:break-word}.base-modal-subtitle{color:var(--text-secondary);font-size:1rem;margin:0 0 12px}.base-modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent;min-height:0}.base-modal-body::-webkit-scrollbar{width:6px}.base-modal-body::-webkit-scrollbar-track{background:transparent}.base-modal-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:3px}.base-modal-body::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.base-modal-footer{padding:16px 20px;border-top:1px solid rgba(59,130,246,.1);background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(248,250,252,.95));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:12px;position:relative}.base-modal-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent)}.base-modal-footer:has(.back-button){flex-direction:row;justify-content:space-between;align-items:center}.modal-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.base-modal-scroll-container{animation:slideUp .3s ease-out}@media (max-width:480px){.base-modal-container{padding:8px}.base-modal-scroll-container{max-width:95%;max-height:calc(100vh - 16px);border-radius:12px}.base-modal-header{padding:14px 12px 12px}.base-modal-body{padding:12px}.base-modal-title{font-size:1.35rem;padding-right:36px}.base-modal-subtitle{font-size:.9rem;padding-right:36px}.base-modal-footer{padding:12px;gap:10px}.base-modal-close{top:6px;right:6px;width:28px;height:28px;min-width:28px;min-height:28px;font-size:18px}.modal-form-grid-2{grid-template-columns:1fr;gap:12px}}@media (min-width:481px) and (max-width:768px){.base-modal-container{padding:14px}.base-modal-scroll-container{max-width:90%;max-height:calc(100vh - 28px)}.base-modal-header{padding:16px 14px 14px}.base-modal-body{padding:14px}.base-modal-title{font-size:1.5rem}.base-modal-subtitle{font-size:.95rem}.base-modal-footer{padding:14px}.modal-form-grid-2{grid-template-columns:1fr;gap:14px}}@media (min-width:769px) and (max-width:1024px){.base-modal-container{padding:16px}.base-modal-scroll-container{max-width:700px;max-height:calc(100vh - 32px)}.base-modal-header{padding:18px 16px 16px}.base-modal-body,.base-modal-footer{padding:16px}}@media (min-width:1025px) and (max-width:1440px){.base-modal-container{padding:18px}.base-modal-scroll-container{max-width:900px;max-height:calc(100vh - 36px)}.base-modal-header{padding:18px 16px 16px}.base-modal-body{padding:18px}.base-modal-footer{padding:16px 18px}}@media (min-width:1441px){.base-modal-container{padding:20px}.base-modal-scroll-container{max-width:1000px;max-height:calc(100vh - 40px)}.base-modal-header{padding:20px 16px 16px}.base-modal-body{padding:20px}.base-modal-footer{padding:16px 20px}}