.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base);padding:var(--spacing-4);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-neutral-0);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:600px;max-height:90vh;animation:scaleIn var(--transition-base);z-index:var(--z-modal);flex-direction:column;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{padding:var(--spacing-6) var(--spacing-8);border-bottom:1px solid var(--color-neutral-200);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading);color:var(--color-neutral-900);background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0}.modal-close{background:var(--color-neutral-100);width:40px;height:40px;color:var(--color-neutral-600);font-size:var(--font-size-3xl);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.modal-close:hover{background:var(--color-error-100);color:var(--color-error-600)}.modal-close:active{opacity:.8}.modal-body{padding:var(--spacing-8);flex:1;overflow-y:auto}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}@media (width<=768px){.modal-content{border-radius:var(--radius-lg);max-width:100%;max-height:95vh}.modal-header{padding:var(--spacing-5) var(--spacing-6)}.modal-title{font-size:var(--font-size-xl)}.modal-body{padding:var(--spacing-6)}.modal-close{width:36px;height:36px;font-size:var(--font-size-2xl)}}@media (width<=480px){.modal-overlay{padding:0}.modal-content{border-radius:0;max-height:100vh}.modal-header{padding:var(--spacing-4) var(--spacing-5)}.modal-body{padding:var(--spacing-5)}}
